试图序列化这个简单的类:
class Data
{
public:
Data();
Data(boost::uuids::uuid id);
Data(const Data&) = delete;
Data& operator=(const Data&) = delete;
inline boost::uuids::uuid getGuid() { return guid; }
template <class Archive>
void serialize(Archive & ar)
{
ar(guid);
}
private:
boost::uuids::uuid guid;
};
但我收到此错误消息
error C2338: Trying to serialize an unserializable type with an output archive.
指向 uuid。启用此功能的升压序列化方法是添加
#include <boost/uuid/uuid_serialize.hpp>
但这不适用于开箱即用的谷物。谷物文件说
谷物档案在 std::ostream 或 std::istream 对象上运行。
所以我尝试在已定义但没有运气的地方添加标题
#include <boost/uuid/uuid_io.hpp>