Serializieren von vererbten Klassen
-
Hallo !
Ich habe folgendes Problem:
Ich habe eine std::list die mir Zeiger auf Instanzen unterschiedlicher Klassen aber mit selben Basisklasse.Jetzt möchte ich bestimte Elemente dieser Klasse in einen Bytestream serializieren um sie auf verschieden Geräten zuspeichern.
Dazu verwende ich die boost library. Ich hab alle Klassen so präperiert, wie es in der doku steht. (http://www.boost.org/doc/libs/1_38_0/libs/serialization/doc/index.html)
Allderding bekomme wird hierbei zur Laufzeit eine Exception von boost ausgelöst.
Beim Debuggen kam ich zur einer Stelle an der folgendes in den Kommentaren steht:
// if your program traps here, it indicates that your doing one of the following:
// a) serializing an object of a type marked "track_never" through a pointer.
// b) saving an non-const object of a type not markd "track_never)
// Either of these conditions may be an indicator of an error usage of the
// serialization library and should be double checked. See documentation on
// object tracking. Also, see the "rationale" section of the documenation
// for motivation for this checking.Kann mir da jemand weiterhelfen ?
Die Serializaion ist noch neuland für mich und es kann sein dass ich da einen völligen Holzweg gegangen bin.Ich freue mich über jede hilfreiche Antwort.