【发布时间】:2019-05-26 10:23:35
【问题描述】:
我需要用字段序列化一个类:int、指向int的指针、数组、类对象、指向类对象的指针、对类对象的引用、指向具有虚拟父对象的类对象的指针。
我试图实现它。我设法为int和array做。但是我不能处理指针和引用
class B() {};
class Person
{
public:
int age; // work
int *ageptr = &age; // not work
std::vector<int> favoriteNumbers; //work
B b; // not work
B *bptr = &b; // not work
B &bref = b; // not work
Person();
~Person();
private:
friend class boost::serialization::access;
template <class Archive>
void serialize(Archive &ar, const unsigned int version) {
ar &BOOST_SERIALIZATION_NVP(age);
ar &BOOST_SERIALIZATION_NVP(ageptr); // error
ar &BOOST_SERIALIZATION_NVP(b); // error
ar &BOOST_SERIALIZATION_NVP(bptr); // error
ar &BOOST_SERIALIZATION_NVP(bref); // error
ar &BOOST_SERIALIZATION_NVP(favoriteNumbers);
}
};
【问题讨论】:
标签: c++ serialization boost