Klassen operator =
-
Hi,
Ich will meine Klasse nach DWORD casten und diese Aktion definieren.
Wie geht das ?-h- class CColor { public: DWORD operator = ( const nXColor ); ... } -cpp- DWORD CColor::operator = ( const CColor ) { return 0xffffffff; }
ICh will einer DWORD variable meine Klasse "zuweisen".
DWORD dwColor; CColor color; dwColor = color;
Funtzt aber nicht.
Kann mir jemand helfen ?
Cu
-
Gast_X schrieb:
Ich will meine Klasse nach DWORD casten und diese Aktion definieren.
Das funktioniert anders:
class Foo { public: // Umwandlungsoperator Foo => DWORD operator DWORD() const { // ... } }; Foo x; DWORD y = x;
-
Hi,
Ok, Danke. Das funtzt ganz gut.
//////////////////////////////////////////////////////////////////// // PUBLIC nXColor = const cl // // operator = //////////////////////////////////////////////////////////////////// nXColor::operator DWORD() const { UCHAR _a, _r, _g, _b; FLOAT fa, fr, fg, fb; _a = abs(this->a); _r = abs(this->r); _g = abs(this->g); _b = abs(this->b); // transform uchar to 0.0f-1.0f fa = (255/_a); fr = (255/_r); fg = (255/_g); fb = (255/_b); return(DWORD) fa*(0xff000000)+fr*(0x00ff0000)+fg*(0x0000ff00)+fb*(0x000000ff); }
Diese Code wird zwar Compiliert, jedoch bekomm ich wären dem Ausführen des Codes einen Unbehanldeten Ausnamefehler..
Wisst ihr vielleicht warum ?
Bye
-
Hat sich erledigt!!!