Naja ich weiß nicht was du meinst.
Eigentlich ist das Problem ja recht einfach:
var a = 2;
var b = 2;
a = b+2;
Klappt ohne probleme (a+b wird zu long konvertiert + 2).
var a = 2;
var b = 2;
a = 2+b;
Klappt nicht (a = 2+(long)b;) ist nötig (Der compiler weiß nicht zu was er "var" konvertieren soll / also ob zu double/int/long usw.).
Kann man dieses nötige doppelcasting irgendwie verhindern?
Momentane "+" Überladungen:
Code:
long var::operator+(var r1) { return(value+r1.getvalue()); }
long var::operator+(long r1) { return(value+r1); }
long var::operator+(int r1) { return(value+_VAR2(r1)); }
long var::operator+(float r1) { return(value+_VAR2(r1)); }
long var::operator+(double r1) { return(value+_VAR2(r1)); }
mfg,
Timo