クラスのオブジェクトへのポインタを含むマップがあり、それらをすべてバイナリファイルに出力してから、読み戻そうとしています。構文が正しいとは確信していません。なぜなら、それらを読み返すと、壊れている、つまり、ファイルに入る前に与えられたデータがないように見えるからです。この前の行は、データを反復処理してすべて出力するので、印刷する前に問題がないことがわかります。
これは、アカウントをバイナリファイルに出力するコードです。
for (it = accounts.begin(); it != accounts.end(); it++)
{
outFile.write((char*)&(*it).second, sizeof(Account));
}
これで大丈夫かどうか誰か知っていますか?
編集:そしてそれはそうではありませんでした
for (it = accounts.begin(); it != accounts.end(); it++)
{
outFile.write((char*)&(*(it->second)), sizeof(Account));
}