このコードがあるとしましょう。
#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の両方が警告を出さないのですか?「キャストなしで整数からポインタを作成する」という行に沿って何かが表示されることを期待しています。