7
我目前在项目中使用boost :: uuids :: uuid,我想序列化包含boost :: uuids :: uuid的对象。我尝试了下面的简单示例,但出现错误:如何序列化boost :: uuids :: uuid
/usr/include/boost/archive/basic_text_oprimitive.hpp:92:错误:'(操作符< <'in'((boost :: archive: :basic_text_oprimitive> *)this) - > boost :: archive :: basic_text_oprimitive> :: os < < t'
我真的很会说如果有人能帮助我。
#include <fstream>
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_serialize.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
class classA {
public:
classA() : id(boost::uuids::random_generator()()) {}
private:
friend class boost::serialization::access;
boost::uuids::uuid id;
template <class Archive>
void serialize(Archive& ar, const unsigned int version) {
ar & id;
}
};
int main(void) {
classA a;
std::ofstream ofs("uuid.txt");
boost::archive::text_oarchive oa(ofs);
oa << a;
ofs.close();
return 0;
}
我发现,头文件的#include <升压/ UUID/uuid_io.hpp>必须包含序列化的boost ::的UUID :: UUID。我在网上搜索了很多,无法找到序列化boost :: uuids :: uuid的示例;我希望这可以帮助某人。 –
感谢穆拉特,你的评论帮助了我。 –