☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

具有 noreturn 属性的函数返回类型只应为 void

8.35 ID_unsuitableReturnType
目录 › next › previous

返回类型不是 void 说明函数有返回值,与 noreturn 属性矛盾。

示例:

_Noreturn    int foo();     // Non-compliant in C
[[noreturn]] int bar();     // Non-compliant in C++

例中函数的返回类型为 int,与 noreturn 属性矛盾,也会对函数的使用者造成困扰。

应改为:

_Noreturn    void foo();    // Compliant in C
[[noreturn]] void bar();    // Compliant in C++

相关

ID_unsuitableReturn

依据

ISO/IEC 9899:2011 6.7.4(8 12)-undefined ISO/IEC 14882:2011 7.6.3(2)-undefined
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.