VS2010 の私のコピーでは、stdlib.h に (行 353-355) が含まれています。
_CRTIMP __declspec(noreturn) void __cdecl exit(_In_ int _Code);
_CRTIMP __declspec(noreturn) void __cdecl _exit(_In_ int _Code);
_CRTIMP void __cdecl abort(void);
noreturn
に注釈がないのは奇妙だと思いますabort()
。誰かがこれの理由を知っていますか? バグですか?
編集:VS2008でも同じですが、stdlib.hの371〜373行目
noreturn
注釈がないと、エラー C4716が発生します。
詳細な参照:注釈の標準化のための C++0x 提案noreturn
abort
。
編集: 削除された回答で一連の議論が消えたように見えますが、その要点はDefect Report #048でカバーされています。