main 函数只应位于全局作用域中
4.3 ID_nonGlobalMain
main 函数作为程序的入口,链接器需对其特殊处理,不应受命名空间等作用域的限制。
示例:
int main() { // Compliant
....
}
namespace {
int main() { // Non-compliant
....
}
}
namespace NS {
int main() { // Non-compliant
....
}
}
依据
ISO/IEC 14882:2003 3.6.1(1)
ISO/IEC 14882:2011 3.6.1(1)
参考
MISRA C++ 2008 7-3-2