boost::serialize については、 http://www.boost.org/doc/libs/1_53_0/libs/serialization/doc/tutorial.html#simplecaseのように、独自のシリアル化関数を使用してカスタム クラスを定義しようとしています。ただし、プログラムは単にセグメンテーション違反を起こします。なんで?
class Test {
public:
unsigned short testid;
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & testid;
}
};
int main() {
Test mytest = {100};
std::ofstream ofsx("test.tmp");
boost::archive::binary_oarchive oax(ofsx);
oax << mytest;
cout << "Exported";
exit(1);
}
邪魔にならないバージョンも試してみましたが、同じ結果でした。
何か不足していますか?