2017-08-18 14 views
-1

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; 
+0

すでに回答済み: https://stackoverflow.com/questions/9138727/handling-map-of-files-in-c – Jonaswg

+0

これは全く異なる質問です。しかし、とにかく、それらを使用する前にポインタについて実際に読む必要があります。 '* m_jsTabFilesMap [key]'は、 '' m_jsTabFilesMap [key] '"にすでにある 'std :: ofstream'を使用することを意味しますが、まだそこに何も置いていません。 –

+0

鍵のファイルが有効なオープンストリームインスタンスに割り当てられていることを確認してください。例外が発生した場合は、例外タイプ、メッセージ、スタックトレースおよびその他の関連情報が**常に** **含まれます。 – grek40

答えて

2

:私は最後の行*m_jsTabFilesMap[key] << text;で平均例外を与えている以下のsnipperを、使用していました。あなたはポインタを使ってストリームを保存しなければなりません。そうしないと、ストリームオブジェクトをコピーしたくない場合はマップに追加する必要があります。

+0

これはどのように達成するのですか?あなたは実際の質問を策定する前に申し訳ありませんが、私はここで間違ったことをしたかもしれません。 – codeLover

+0

@codeLoverコメントの重複を見て、あなたの質問を更新して、リンクされた重複があなたにとってうまくいかない場合はどうしたらよいかを明記してください。 – grek40

+0

私の質問をより具体的に編集しました。 – codeLover

関連する問題