0
この構造体をシリアル化できるようにする方法がわかりません。私が研究を通して知ることができるのは、パッディングの設定の現実にすぎない、参照によってパディングしているメンバーのいずれも通過できないようです。私はプラグマ・パック・ステートメントを試しましたが、違いはありませんでした。boost :: serialize:ビットフィールドメンバ変数を持つ構造体
この構造体:あなたはのアドレスを取る、またはそれに言及することはできませんので https://msdn.microsoft.com/en-us/library/windows/desktop/aa363214(v=vs.85).aspx
class SZ_DCB : DCB
{
private:
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive &ar, const unsigned int version){
ar & BOOST_SERIALIZATION_NVP(DCBlength);
ar & BOOST_SERIALIZATION_NVP(BaudRate);
ar & BOOST_SERIALIZATION_NVP(fBinary);
ar & BOOST_SERIALIZATION_NVP(fParity);
ar & BOOST_SERIALIZATION_NVP(fOutxCtsFlow);
ar & BOOST_SERIALIZATION_NVP(fOutxDsrFlow);
ar & BOOST_SERIALIZATION_NVP(fDtrControl);
ar & BOOST_SERIALIZATION_NVP(fDsrSensitivity);
ar & BOOST_SERIALIZATION_NVP(fTXContinueOnXoff);
ar & BOOST_SERIALIZATION_NVP(fOutX);
ar & BOOST_SERIALIZATION_NVP(fInX);
ar & BOOST_SERIALIZATION_NVP(fErrorChar);
ar & BOOST_SERIALIZATION_NVP(fNull);
ar & BOOST_SERIALIZATION_NVP(fRtsControl);
ar & BOOST_SERIALIZATION_NVP(fAbortOnError);
ar & BOOST_SERIALIZATION_NVP(fDummy2);
ar & BOOST_SERIALIZATION_NVP(wReserved);
ar & BOOST_SERIALIZATION_NVP(XonLim);
ar & BOOST_SERIALIZATION_NVP(XoffLim);
ar & BOOST_SERIALIZATION_NVP(ByteSize);
ar & BOOST_SERIALIZATION_NVP(Parity);
ar & BOOST_SERIALIZATION_NVP(StopBits);
ar & BOOST_SERIALIZATION_NVP(XonChar);
ar & BOOST_SERIALIZATION_NVP(XoffChar);
ar & BOOST_SERIALIZATION_NVP(ErrorChar);
ar & BOOST_SERIALIZATION_NVP(EofChar);
ar & BOOST_SERIALIZATION_NVP(EvtChar);
ar & BOOST_SERIALIZATION_NVP(wReserved1);
}
};
クールああ、私はあなたが任意の変数をシリアル化可能性を知りませんでした。私はあなたがメンバーと私だけを渡すことができましたが、あなたはそれらのすべてを連載しなければなりませんでした。 –
標準のC++を使うことをお勧めします。 'BYTE'はC++ではありません – sehe
@seheそれはWindowsヘッダーで、DWORDやBYTEなどのさまざまなウィンドウ型のtypedefがあるので、私はBYTEを使用することにしました。 – 1201ProgramAlarm