-std=c++0x を忘れた可能性が高いです。私の gcc の Mingw バージョンは 4.6.1/4.7.1 で、どちらも nullptr をうまくサポートしています。
「C++ 標準ライブラリ チュートリアルとリファレンス 第2弾」の説明によると、nullptrがキーワードで、整数型ではなく各ポインタ型に自動変換できるため、次のオーバーロード関数とあいまいなNULLの欠点を克服しています。 : void f(int ); ボイド f(ボイド *);
f(ヌル); // あいまいな f(nullptr); // わかった
VC2010 でこの機能をテストすると、MSDN ドキュメントが実際のコンパイラと競合することが示されます。ドキュメントには次のように記載されています。
nullptr キーワードは型ではないため、次のものとの使用はサポートされていません。
のサイズ
typeid
nullptrを投げる
実際、VC2010 では、上記の演算子/式はすべて有効です。sizeof(nullptr) 結果 4. typeid.name() 結果 std::nullptr_t および throw nullptr は、"const void *" および "void *" (およびその他のポインター型) によってキャッチできます。
gcc(4.7.1) は nullptr についてより厳格に見えますが、スロー nullptr は「void *」でキャッチできず、「...」でキャッチできます。