C++ 如何序列化类型为

C++ 如何序列化类型为,c++,serialization,boost,boost-serialization,C++,Serialization,Boost,Boost Serialization,我真的不知道如何在类或结构中序列化boost::shared_ptr类型的列表变量。一般来说,我会使用我们通常使用的方法,比如 struct A { std::list<boost::shared_ptr<void *>> mdb; } template<class Archive> void serialize(Archive &d,const unsigned int version) { d & mdb; // n

我真的不知道如何在类或结构中序列化boost::shared_ptr类型的列表变量。一般来说,我会使用我们通常使用的方法,比如

struct A
{
    std::list<boost::shared_ptr<void *>> mdb;
}

template<class Archive>
void serialize(Archive &d,const unsigned int version)
{
      d & mdb;  // not sure that this would work
}

编译时,它不会给出错误,但不会在我的末尾序列化。

您不会。在所有的可能性中,空*是

一些本机API的句柄;只有当API具有足够的标识信息以在加载时重建句柄时,才能序列化此文件 对其他东西的类型双关语这将是愚蠢的,只要有真正的类型,那么
您的类型中有一个空格*。如何序列化void*?如果上面写的内容真的被编译了,我会感到惊讶。你说的连载是什么意思?你确定你真正想要的是指向另一个void类型指针的共享指针吗?@Pop-是的,它是-std::只列出这个,但我应该如何序列化它