Danke für die Funktionen, werde ich nutzen. Sollte es bei den Engine Funktionen nicht reichen, jedes "var" durch ein "long" zu ersetzten?

Das schaltet mögliche Compilerwarnungen aus.

Ein weiteres kleines Problem. Ich kann immer nur ein Rückgabetyp definieren. Beispiel:

//error message!
long operator=(var);
float operator=(var);

(Funktionen unterscheiden sich nur durch Rückgabetyp o.ä.)

Oder kann hier C++ selbstständig von long zu float usw. konvertieren (so das dann sowohl long a = var; und float a = var; funtkioniert?)?.

Edit: Bei dem ASM Code hackt es bei mir ehrlich gesagt.

Code:

long r1;
long r2;
var var::operator*(int i1)
{
r1 = this->value;
r2 = (long)_VAR(i1);
__asm {
mov eax,r1
mov edx,r2
imul edx
shrd eax,edx,10
adc eax,0
}
return *this;
}



Ist das 1) nicht eher langsamer als die direkte multiplizierung? Und 2) Es verändert sich nichts an der Variable. Mache ich an der Einbindung was falsch?