私は穀物に非常に慣れていないので、(おそらく簡単な)質問があります:
(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」が生成されます。
何か提案はありますか?