クラス内に 2 つの配列を取得して、ブースト シリアライゼーション ライブラリを使用しようとしています。保存はできるのですが、なぜか読み込めません。ia >> *this; と一緒だと思います。しかし、私はそれを修正する方法がわかりません。誰でも私を正しい道に導くことができますか?
class foo
{
private:
int tileType[512];
int tileSubType[512];
friend std::ostream & operator<<(std::ostream &os, const foo &gp);
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & tileType;
ar & tileSubType;
}
public:
foo();
void loadType(string data)
{
std::stringstream is(data);
boost::archive::text_iarchive ia(is);
ia >> *this;
}
string saveType()
{
stringstream ss(stringstream::in | stringstream::out);
boost::archive::text_oarchive oa(ss);
oa << this;
return ss.str().c_str();
}
};