このコードがあるとしましょう。
#include <string>
int main()
{
std::string(0);
return 0;
}
書き込みのstd::string(0)
結果、このコンストラクターへの引数としてstd::basic_string<char>::basic_string(const char*)
呼び出され0
ます。このコンストラクターは、引数をC文字列へのポインターとして処理しようとします。
このコードを実行すると、明らかstd::logic_error
にスローされます。しかし、私の質問はこれです:なぜGCCとMSVC 8.0の両方が警告を出さないのですか?「キャストなしで整数からポインタを作成する」という行に沿って何かが表示されることを期待しています。