我有一个旧的 (boost::serialisation) 存档,它是使用以下方法生成的:
class Data;
data = new Data();
ar & data;
现在代码已更改为:
class Header;
class Data;
header = new Header();
data = new Data();
ar & header;
ar & data;
所以,我的问题是:如何使用新代码加载旧存档? 据我所知, boost::serialisation 不允许存档版本控制,如果我只是尝试加载它,它会给我一个“输入流错误”,因为它会尝试ar & header;
处理已保存的数据与ar & data;
.
编辑:我知道BOOST_CLASS_VERSION(ns::Class, x)
,但这不适用于档案。