【发布时间】:2014-07-01 13:34:41
【问题描述】:
我正在尝试序列化具有类似 std::list> lss
类型的成员变量的类#include <boost/serialization/optional.hpp>
#include <boost/serialization/map.hpp>
#include <boost/serialization/shared_ptr.hpp>
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/list.hpp>
struct SomeStruct
{
int x;
double y;
private:
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive &at, const unsigned int version)
{
at & x;
at & y;
}
};
class BuildTest
{
std::list<boost::shared_ptr<SomeStruct *>> lss ;
std::string name;
private:
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive &at, const unsigned int version)
{
at & lss; // is this sufficient to serialize lss ?
at & name;
}
}
我已经为 boost 序列化添加了所有必需的头文件。有类似的问题,但答案正确how do i serialize list variable of type <boost::shared_ptr<void *>>
【问题讨论】:
-
请显示标题。你是否包含了'boost/serialization/list.hpp'、boost/serialization/shared_ptr.hpp'?
-
@Dieter Lücking - 添加了代码中使用的所有头文件。
-
SomeStruct 的序列化代码你写了吗?
-
你的代码编译得很好,提供一个测试用例来显示这个问题。
标签: c++ serialization boost boost-serialization