C++なら俺に聞け(入門篇)
■ このスレッドは過去ログ倉庫に格納されています
0442441
2007/01/20(土) 16:11:48以下のように文字列を出力すると、入力文字列のポインタがうまく判別されず(?)、
文字列のoperatorとは違う関数がよばれ、文字列のアドレスが数字で表示されてしまいます。
ostream2 cout2;
cout2 << L"TestString";
出力結果:00,524,1F0
どうしてこのような現象になってしまうのでしょうか?
原因がわからず困っています。
なお、以下のように二回同じ文字列を出力した場合、二回目は正しく文字列として出力されます。
ostream2 cout2;
cout2 << L"TestString";
cout2 << L"TestString";
出力結果:00,524,1F0 TestString
また、初回をbasic_stringでわたしてやった場合は以後普通に動作するようです。
ostream2 cout2;
cout2 << basic_string< wchar_t >("TestString");
cout2 << L"TestString";
出力結果:TestString TestString
同じ値をそのまま二回渡して呼ばれるoperator関数が、変わる事ってありえるのでしょうか???
■ このスレッドは過去ログ倉庫に格納されています