0
electric_potential型とdouble型のマップをシリアル化するにはどうすればよいですか? ?私のコードで 私はこれらのヘッダを入れている:エラーC2039: 'serialize': 'boost :: units :: quantity <boost :: units :: si :: electric_potential、double>'のメンバーではありません。
#include <boost/serialization/complex.hpp>
#include <boost/serialization/map.hpp>
#include <boost/units/physical_dimensions/electric_potential.hpp>
template<class Archive, class T>
static void serialize(Archive & ar, T & t, const unsigned int file_version){
t.serialize(ar, file_version);
}
extern "C++" class Data_substation_AC2 : public Data_OG
{
private:
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive & ar, const unsigned int version) {
ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Data_OG);
ar & BOOST_SERIALIZATION_NVP(_primary_voltage);
ar & BOOST_SERIALIZATION_NVP(_secondary_voltage);
ar & BOOST_SERIALIZATION_NVP(_impedance1);
ar & BOOST_SERIALIZATION_NVP(_impedance2);
ar & BOOST_SERIALIZATION_NVP(_location);
}
std::string _name;
bu::quantity<si::electric_potential> _primary_voltage;
bu::quantity<si::electric_potential> _secondary_voltage;
bu::quantity<si::resistance, std::complex<double>> _impedance1;
bu::quantity<si::resistance, std::complex<double>> _impedance2;
Data_location _location;
私はすべてのヘッダを試してみましたが、それでも私はこのエラーを持っている:私はこれを解決する最も簡単な方法のために
error C2039: 'serialize' : is not a member of 'boost::units::
quantity<boost::units::si::electric_potential,double>'
探しています。 ありがとう in this picture the code when i use the type electrical_potential
は、コンパイル・エラーが発生するコードを表示します。この関数テンプレートの 静的ボイドシリアライズ( アーカイブ&AR、 T&T、 CONST unsigned int型FILE_VERSION ){ t.serialize(AR、FILE_VERSION <クラスアーカイブ、クラスT>:クラスaccess.hppで – Dennis
); } – Saad
オリジナルの投稿を編集してコードを組み込みます – Dennis