Problem ein Objekt in ein void* zu casten
-
Hallo,
ich wollte euch mal Fragen, wie ich ein C++/CLI Objekt in ein void Zeiger casten kann, hab schon seit einigen Tagen gegooglet und rumprobiert, aber leider funktioniert es nicht so wie ich es will
Hier ist auch mein Beispielcode:generic<typename T> void SetData(array<T>^ Data) { pin_ptr<T> Pointer = &Data[0]; void* Object = NULL; // Zeiger (Object) auf ein gültigen Bereich holen memcpy(Object, Pointer, Size); }
Mein Problem ist, dass nicht alle Datan vom Array rüberkopiert werden. Ich bin auch mit Latein am Ende und weiß nicht was ich machen soll. Deswegen meine Frage, ob ihr ein Tipp geben könnt, nach was ich suchen muss.
Schonmal vielen Dank im voraus
Mit freundlichen Grüßen Altair
-
ich wollte euch mal Fragen, wie ich ein C++/CLI Objekt in ein void Zeiger casten kann
Warum sollte das möglich sein?
-
Altair schrieb:
wie ich ein C++/CLI Objekt in ein void Zeiger casten kann
Garnicht.
Ein managed Objekt liegt auch nicht zwangsweise während der Programmlaufzeit an einer festen Adresse, es kann jederzeit verschoben werden (Hat u.a. mit dem GC zu tun).
-
Hmm ok, gibt es keine andere Möglichkeiten, wie ich die Datan alle rüberkopieren kann?
Mit freundlichen Grüßen Altair
-
Mit einem Generic wirst Du das so nicht hinbekommen... WAS soll den der Typ sein??? Du kannst dich nicht einfach jeden Type per memcpy kopieren!!!
WAS willst Du eigentlich machen? Du solltest uns Mal Dein Problem sagen, was Du eigentlich lösen willst...