У меня есть функция, которая принимает ссылку на объекты базового класса.Я передаю производные объекты этой функции, чтобы заполнить их расширенной сериализацией, но не могу заставить это работать.Когда я пытаюсь использовать ссылочный тип, он падает.Когда я использую указатель, он работает внутри функции, но вне функции объект остается неизменным.
int
load( base_class &ref, const std::string &fl )
{
bool ret = true;
{
std::ifstream ifl( fl.c_str() );
boost::archive::text_iarchive iar( ifl );
// iar >> ref; This cores.
base_class *ptr = &ref;
iar >> ptr; // this works here but does not change the passed in object.
}
}