Problem mit operator=
-
Hallo,
Ich habe folgende Klasse (gekürzt):public ref struct Farbe { Color color; __int8 Addition; }
und folgenden Code ...
Farbe F1, F2; //... F1 = F2;
... der folgenden Fehler ergibt:
error C2582: Die Funktion 'operator =' ist in 'Farbe' nicht verfügbar
Normalerweise würde ja einfach Bitweise kopiert werden. Wenn ich den Operator= manuell definiere, also:
void operator=(Farbe F) { this->color = F.color; this->Addition = F.Addition; }
behauptet der Compiler, es sei kein passender Konstruktor vorhanden.
Was mache ich falsch?
-
Hallo,
was schonmal ungünstig ist, du mischt managed und unmanaged Code. Warum musst du __int8 benutzen und kein Byte? Denke mal dass wird auch der Grund sein warum er für die Struktur den Zuweisungoperator nicht automatisch hinbekommt.
-
Die Sachlage bessert sich nicht, wenn ich alles durch die managed-Variante ersetze...
-
wie wärs mit:
value class Farbe { Color color; // ... };
-
Danke, das wars...