2012-05-25 7 views
7

私は現在、プロジェクトでboost :: uuids :: uuidを使用していますが、boost :: uuids :: uuidを含むオブジェクトを直列化したいと思います。私は、以下の簡単な例を試してみましたが、私はエラーを取得:boost :: uuids :: uuidをシリアライズする方法

/usr/include/boost/archive/basic_text_oprimitive.hpp:92:ERROR:「で「演算子< <」の一致なし((後押し::アーカイブ: :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; 
} 
+3

boost :: uuids :: uuidをシリアル化するには、ヘッダファイルをインクルードする必要があることが分かりました。私はウェブで多くを検索して、boost :: uuids :: uuidをシリアライズする例を見つけることができませんでした。私はこれが誰かを助けるかもしれないことを望む –

+0

Muratありがとう、あなたのご意見が私を助けました。 –

答えて

関連する問題