我对谷物很陌生,我有一个(可能很简单)的问题:
当我不知道(XML)存档中的对象数量时,有没有办法反序列化多个对象?
我试过类似的东西:
std::ifstream is("c:\\data.xml");
cereal::XMLInputArchive archive(is);
while (is.good() && !is.eof())
{
try{
ObjectIn oIn;
archive(oIn);
objectList.push_back(oIn);
}
catch (exception e){
}
}
假设我在 XML 文件中有 3 个对象,而我收到的 XML 没有包含对象编号。因此,在我的代码中,前 3 次迭代是可以的,但第 4 次生成“CerealTest.exe 中 0x0035395E 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000018。”
你有什么建议吗?