noreturn
Microsoft 专用
此 __declspec 属性通知编译器函数不返回。因此,编译器知道在调用后的代码。 declspec(noreturn) 函数不可访问的。
如果编译器找到与不返回值的控件路径的函数,则会生成一个警告 C4715 () 或错误消息 (C2202)。如果控件路径不能达到由于不返回的功能,您可以使用 declspec(noreturn) 阻止此警告或错误。
说明 |
---|
添加 declspec(noreturn) 到应返回的函数会导致未定义的行为。 |
示例
在下面的示例中,不包含子句返回一个语句。声明为 declspec(noreturn) 的 fatal 避免错误或警告的信息。
// noreturn2.cpp
__declspec(noreturn) extern void fatal () {}
int main() {
if(1)
return 1;
else if(0)
return 0;
else
fatal();
}