Namespaces
Variants

C attribute: noreturn, _Noreturn (since C23)

From cppreference.net

表示该函数不会返回。

目录

语法

[[ noreturn ]]
[[ __noreturn__ ]]
[[ _Noreturn ]]
[[ ___Noreturn__ ]]
(已弃用)

说明

表示该函数不会返回。

此属性应用于函数名,指定该函数不会通过执行 return 语句或到达函数体末尾返回(但可能通过执行 longjmp 返回)。若带有此属性的函数实际返回,则行为未定义。如能检测到这种情况,建议编译器发出诊断信息。

在C23标准之前,该功能一直使用关键字 _Noreturn 表示,直至该关键字被弃用并由本属性替代。

标准库

以下标准函数被声明为具有 noreturn 属性(在 C23 之前它们一直使用 _Noreturn 说明符进行声明):

参见

C 文档 关于 _Noreturn
C++ 文档 关于 [[noreturn]]