※ ChatGPTを利用し、要約された質問です(原文:boost::archive::xml_oarchiveについて)
boost::archive::xml_oarchiveについて
このQ&Aのポイント
boostのコンパイルが通らず、make_nvpを利用してもboost::STATIC_ASSERTION_FAILUREが発生します。
問題の原因を調査しましたがわかりません。わかる方に教えていただきたいです。
boostのxml_oarchiveを使用してアーカイブを作成し、ファイルに書き出す方法を知りたいです。
boost::archive::xml_oarchiveについて
boostのコンパイルが通りません。調べられるだけ調べたのですが、原因として表示されるmake_nvpを利用しても、boost::STATIC_ASSERTION_FAILUREが発生します。わかる方ご教授お願いします。
#define BOOST_LIB_NAME boost_serialization
#include <boost/config/auto_link.hpp>
#include <boost/serialization/string.hpp>
#include <boost/serialization/access.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/archive/xml_oarchive.hpp>
#include <fstream>
class FooData
{
private:
int Data;
friend class boost::serialization::access;
template <class Archive>
void serialization(Archive& ar, const unsigned int version)
{
ar & boost::serialization::make_nvp("Data",Data)
}
};
void main(void)
{
FooData data;
//アーカイブ作成
std::ofstream ofs("output.txt");
boost::archive::xml_oarchive oa(ofs);
// ファイル書き出し
oa << (const FooData&)data;
ofs.close();
}
お礼
コンパイル通りました。 データもちゃんと出力されました。 ありがとうございます。