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

main 函数的返回类型只应为 int

8.1 ID_mainReturnsNonInt
目录 › next › previous

main 函数的返回值可作为整个进程执行情况的总结,按惯例返回 0 或 EXIT_SUCCESS 表示执行成功,非 0 或 EXIT_FAILURE 表示执行失败,main 函数的返回值会作为标准 exit 函数的参数。

应采用标准明确支持的方式:

int main(void) { .... }                     // Compliant
int main(int argc, char *argv[]) { .... }   // Compliant

如果将返回值设为 void 或其他非 int 类型,会导致未定义、未声明或由实现定义的行为。

void main() { .... }   // Non-compliant
bool main() { .... }   // Non-compliant

依据

ISO/IEC 9899:1999 5.1.2.2.1(1)-implementation ISO/IEC 9899:1999 5.1.2.2.3(1)-unspecified ISO/IEC 9899:2011 5.1.2.2.1(1)-implementation ISO/IEC 9899:2011 5.1.2.2.3(1)-unspecified ISO/IEC 14882:2003 3.6.1(2)-implementation ISO/IEC 14882:2011 3.6.1(2)-implementation

参考

C++ Core Guidelines F.46
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.