This diagnostic rule is based on the software development guidelines developed by MISRA (Motor Industry Software Reliability Association).
This diagnostic rule is only relevant to C++. The 'main' function should only be present in the global namespace. This way a developer will be sure - if the 'main' function appears, it is always the entry point to the program.
The analyzer issues a warning for the following code example:
namespace N1 { int main(); }
Another code example that triggers the analyzer:
namespace { int main(); }
If we rewrite the code by the rule, we will get the following:
namespace N1 { int start(); }
This diagnostic is classified as:
|