Lorsque j'essaie de sérialiser une classe avec des membres protégés, j'obtiens les erreurs suivantes: "Impossible d'accéder au membre protégé déclaré dans la classe NetElement". L'idée est que j'aimerais avoir une fonction de sérialisation en dehors de la définition de classe. Qu'est-ce que je fais mal?Accélération de l'accès de sérialisation aux données protégées
meilleures salutations, mightydodol
Voici le code ...
// class definition
class NetElement
{
friend class boost::serialization::access;
protected:
int nelements;
int ids;
public:
static NetElement* New(){return new NetElement;}
virtual void Delete(){delete this;}
protected:
NetElement(){};
~NetElement(){};
};
// nonintrusive serialize
template<class Archive>
void serialize(Archive & ar, NetElement& element, const unsigned int version=1)
{
ar & element.nelements & element.ids;
}
int main(void)
{...
std::ofstream os("Pipe1.txt");
boost::archive::text_oarchive oa(os);
serialize(oa,el/*ref to NetElementObj*/);
...
}
merci pour les réponses – dodol