Ошибка при сохранении и загрузке данных в структурах данных очереди и стека с помощью библиотеки boost
Я новичок в использовании библиотеки сериализации boost.
Я хочу сохранять и загружать данные в структуры STL и из них с помощью text_iarchive и text_oarchive.
Для этого я использовал код ниже:
mystruct test; test.initial(); { std::ofstream ofs("filename.dat"); boost::archive::text_oarchive ar(ofs); ar & test; } { std::ifstream ifs("filename.dat"); boost::archive::text_iarchive ar(ifs); mystruct restored; ar & restored; }
Что я уже пробовал:
На карте, списке, деке, наборе и векторе нет никаких проблем, но на очереди и стеке я получаю следующие ошибки:
ошибка: нет подходящей функции для вызова 'сохранить(увеличить::архив::text_oarchive&амп;, константные функции std::deque будет &ГТ;&амп;, константный беззнаковый тип int&ампер;)'
ошибка: нет подходящей функции для вызова 'нагрузкой(при разгоне::архив::text_iarchive&амп;, с std::deque будет &ГТ;&амп;, константный беззнаковый тип int&ампер;)'
Как я могу решить эту проблему?
Richard MacCutchan
Где возникают эти сообщения об ошибках?
CPallini
Включили ли вы соответствующие заголовки (например, "boost/сериализация/stack.hpp")?