_Zeiger__Polymorphie
-
Hallo !
Kann mir jemand sagen, ob diese Konstruktion auch ohne Cast funktioniert ?__int32 main() { System::String __gc *__gc *VarA; (*VarA) = S"Hallo Welt\n"; System::Object __gc *__gc *VarB = VarA; System::Console::Out->Write((*VarB)->ToString()); }
Ich meine, er (VC 7.1 Pro) frisst es nicht, will den Pointer nicht selbst casten. Dabei gilt doch :
__gc class String : public Object, public ... // etc
mfg CanDL
-
Nur eine Vermutung: Der operator * ist überschrieben so dass Typumwandlung auf einfache Pointer-Ebene stattfinden kann, jedoch nicht bei Pointer auf Pointer Ebene.
So das die einzige Möglichkeit die du hast ist über eine temp Variable mit einen Pointer zu gehen.