小编use*_*535的帖子

C++ Boost序列化序列化模板化派生类

我想序列化一个具有属性的类作为泛型类的指针列表

这是泛型类派生的父类:

class Base{

    public :

        friend class boost::serialization::access;

        virtual ~Base(){}

        template<class Archive>
        void serialize(Archive & ar, const unsigned int version)
        {
        }

        virtual string Getid() = 0 ;

};
Run Code Online (Sandbox Code Playgroud)

通用类:

template<typename T>
class GenericBase : public Base
{
    public:

        friend class boost::serialization::access;

        GenericBase<T>(string id){}
        ~GenericBase(){}

        string id;

        vector<T> data

        template<class Archive>
        void serialize(Archive & ar, const unsigned int version)
        {
            ar & boost::serialization::base_object<Base>(*this);
            ar & BOOST_SERIALIZATION_NVP( id);
            ar & BOOST_SERIALIZATION_NVP( data);

        }

        string Getid() { return id; }

}; …
Run Code Online (Sandbox Code Playgroud)

c++ serialization templates boost derived-class

5
推荐指数
1
解决办法
2979
查看次数

标签 统计

boost ×1

c++ ×1

derived-class ×1

serialization ×1

templates ×1