C++でキーと対応するファイルのマップを作成します。 std::ofstream
のコピーコンストラクタを明示的に削除されキーとファイルのC++マップが機能しません
std::map<std::string, std::ofstream*> m_jsTabFilesMap;
std::string text = "hello all";
std::string key = "a";
*m_jsTabFilesMap[key] << text;
C++でキーと対応するファイルのマップを作成します。 std::ofstream
のコピーコンストラクタを明示的に削除されキーとファイルのC++マップが機能しません
std::map<std::string, std::ofstream*> m_jsTabFilesMap;
std::string text = "hello all";
std::string key = "a";
*m_jsTabFilesMap[key] << text;
:私は最後の行*m_jsTabFilesMap[key] << text;
で平均例外を与えている以下のsnipperを、使用していました。あなたはポインタを使ってストリームを保存しなければなりません。そうしないと、ストリームオブジェクトをコピーしたくない場合はマップに追加する必要があります。
すでに回答済み: https://stackoverflow.com/questions/9138727/handling-map-of-files-in-c – Jonaswg
これは全く異なる質問です。しかし、とにかく、それらを使用する前にポインタについて実際に読む必要があります。 '* m_jsTabFilesMap [key]'は、 '' m_jsTabFilesMap [key] '"にすでにある 'std :: ofstream'を使用することを意味しますが、まだそこに何も置いていません。 –
鍵のファイルが有効なオープンストリームインスタンスに割り当てられていることを確認してください。例外が発生した場合は、例外タイプ、メッセージ、スタックトレースおよびその他の関連情報が**常に** **含まれます。 – grek40