私は文字列ストリームで奇妙な動作をしています。 2つのストリングストリームを作成すると、正しく書き込まれ、エラーが発生します。最後の行のために:文字列ストリームのエラーが一貫していません
ostringstream s;
ostringstream d;
s<<test<<endl;
d<<test<<endl;
(テストはchar *型である)これはメッセージ「種類 "int型の無効なオペランドとバイナリ『演算子< <』から『のconstのchar *』エラー」を与えます。
ostringstream s;
ostringstream d;
d<<test<<endl;
d<<test<<endl;
これはメッセージ「エラー:タイプ "int型の無効なオペランドとバイナリ『演算子< <』から『のconstのchar *』」を与えるDへの書き込みの両方の行のために。
2つのストリームは同じである必要があります。なぜ、dが動作しないのかわかりません。 sとdの宣言の順序を変更しても何も変わりません。誰にもこれがどうして起こるのかというアイデアはありますか?
ありがとうございます!
このエラーを示す最小限の完全なプログラムを作成して投稿してください。 http://sscce.org –
'test'変数の正確な内容を確認できますか?私はstring test = 'test'を使ってこのコードを実行しました。およびd << test.c_str()<< endl;それは何の問題もなかった。 –
申し訳ありませんが皆、私は愚かな変数をシャドウしていました、今修正!ご協力いただきありがとうございます! – akroy