main 函数不应被调用、重载或被 inline、static 等关键字限定
8.2 ID_illFormedMain
main 函数作为程序的入口是一种特殊的函数,其链接性由实现定义,不应被调用、重载或被任何函数限定符修饰。
示例:
int main(); // The main function does not need to be declared
int foo() {
return main(); // Non-compliant
}
int main(const char* p) { // Non-compliant
....
}
inline int main() { // Non-compliant
....
}
依据
ISO/IEC 9899:1999 6.7.4(4)
ISO/IEC 9899:2011 6.7.4(4)
ISO/IEC 14882:2003 3.6.1(2 3)-implementation
ISO/IEC 14882:2011 3.6.1(2 3)-implementation
ISO/IEC 14882:2017 6.6.1(2 3)-implementation