Bonjour,
J'ai bien lu la doc de boost.
J'ai bien lu aussi le tuto de Pierre Schwartz.
J'ai bien lu aussi diverses discussions du forum
Et je n'arrive toujours pas à sérialiser en cascade des pointeurs d'objets polymorphiques.
Mes classes à sérialiser sont assez simples :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
Je n'ai pas de problème de cast cependant (le type restitué est le bon).
Si, maintenant, j'écris ceci :
Alors tout fonctionne parfaitement, mais c'est explicitement déconseillé par boost (selon Pierre Schwartz)
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
Note1 : quelque part ailleurs, dans mon programme, j'ai ceci :
Note 2 : j'ai aussi essayé en déclarant NetworkMessage non-abstraite, avec une méthode NetworkMessage::serialize vide, et j'ai exactement le même comportement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3archive.template register_type<AGE::NetworkMessagePing>(); archive.template register_type<AGE::NetworkMessageSynchroTurn>();
J'en suis venu à douter de la "bonne façon de faire", est-ce que quelqu'un peut confirmer qu'appeler le serialize de la classe mère depuis le serialize de la classe fille est effectivement déconseillé, car boost::serialization::base_object devrait le faire ?
Merci

 

 
		
		 
         
  
			
			



 Boost Serialization / pointeurs / polymorphisme
 Boost Serialization / pointeurs / polymorphisme
				 Répondre avec citation
  Répondre avec citation
Partager