0

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);
}

邪魔にならないバージョンも試してみましたが、同じ結果でした。

何か不足していますか?

4

1 に答える 1

0

この問題は、古いライブラリへのリンクが原因でした。

于 2013-02-13T21:59:17.770 に答える