boost::serialization Doppelpointer

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
Jonathan
Establishment
Beiträge: 2374
Registriert: 04.08.2004, 20:06
Kontaktdaten:

boost::serialization Doppelpointer

Beitrag von Jonathan »

Irgendwie kriege ich es nicht hin mit boost::serialization einen Doppelpointer zu serialiseren. Hier mal ein Beispiel:

Code: Alles auswählen

void main()
{
	int ** Ptr=new int*;
	*Ptr=new int;
	**Ptr=5;


	std::ofstream File("Test.xml");
	boost::archive::xml_oarchive Archive(File);
	Archive << BOOST_SERIALIZATION_NVP(Ptr);
}
Und hier die Warnung und der Fehler:
http://pastebin.com/i1DW2iDR

Brauchen tu ich das, um irgendwo im Spiel eine Referenz auf ein anderes Objekt zu haben die selber aber nochmal einen Pointer beinhaltet, damit ich testen kann, ob das Objekt noch gültig ist. (d.h. ich kann das Objekt löschen und den Pointer darauf auf 0 setzen, und alle die einen Pointer auf den Pointer speichern können dann sehen, dass dieser Pointer 0 ist und somit gelöscht werden kann).
Wenn das so in der Form gar nicht geht müsste ich vermutzlich irgendwelche Proxyklassen einsetzen, was ich eigentlich nicht möchte.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Antworten