これは私が試したものですが、Error: Unknown exception
投げられています
try{//load
std::ifstream stream(arch_name.c_str());
std::cout << ">> " << "Started deserializing " << arch_name << std::endl;
boost::archive::binary_iarchive arc(stream);
arc & c & matrix;
stream.close();
std::cout << ">> " << "Finished deserializing" << std::endl;
}catch(std::exception e){
std::cout << "Error: " << e.what() << std::endl;
return 1;
}
これは、gcc を使用する Linux でうまく機能しています。WindowsでVisual Studioを使用しています。
編集
basic_binary_iprimitive.hpp
バックトレースは、例外をスローしていることを示しています
template<class Archive, class Elem, class Tr>
inline void basic_binary_iprimitive<Archive, Elem, Tr>::load_binary( void *address, std::size_t count){
//.....
if(scount != s)
boost::serialization::throw_exception(
archive_exception(archive_exception::input_stream_error)
);
編集
catch
黒をに変更しcatch(boost::archive::archive_exception e)
て印刷しました。input stream error
ブースト アーカイブの例外で、virtual what にミスはありますか?