
Konstantin Andreev wrote: Make the following change: int main( void ) { Sample *obj_to = NULL; const Sample * const obj_fr = new Sample( 55, "**** test string *****" ); std::cout << *obj_fr; std::stringstream archbuf; boost::archive::text_oarchive *oa = new boost::archive::text_oarchive( archbuf, 3 ); *oa << obj_fr; std::cout << "-- archive content: >" << archbuf.str() << "<\n"; archbuf.flush(); // make this change delete oa; boost::archive::text_iarchive *ia = new boost::archive::text_iarchive( archbuf, 3 ); *ia >> obj_to; std::cout << *obj_to; /////////////////////////////////// *ia >> obj_to; // ARCHIVE IS OVER. BOOM !!! /////////////////////////////////// std::cout << *obj_to; delete ia; return 0; }