使用type。

时间:2016-06-08 13:27:07

标签: c++ serialization boost

我正在用实体组件系统编写游戏。我的实体管理器将组件存储在2D地图中,如下所示:

map<const type_info*, vector<shared_ptr<Component>> > components;

每个组件都有自己的序列化函数,但抽象基类除外,因为它没有可保存的变量。我正在使用boost来尝试保存/加载管理器。我得到两个错误:

error C2039: 'serialize' : is not a member of 'type_info'   f:\boost\boost\serialization\access.hpp 116
error C2512: 'type_info' : no appropriate default constructor available f:\boost\boost\serialization\access.hpp 130

当我得到这样的错误时,我只是包含necesseray序列化标题,而boost中有四个带有type_info的标题,但它们都不起作用。 (&lt; - 那是我的提升专家,尝试导入任何带有type_info的标题)

实体管理器的序列化功能如下所示:

template<class A> void serialize(A& arc, const unsigned int version){
    arc & /* other vars */ & components;
};

免责声明:我前一天才开始使用提升,所以我不知道是否/如何在脚下射击自己。

0 个答案:

没有答案