Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
V2576. MISRA. The identifier 'main'...
menu mobile close menu
Additional information
toggle menu Contents

V2576. MISRA. The identifier 'main' should not be used for a function other than the global function 'main'.

Mar 11 2021

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:

  • MISRA-CPP-2008-7.3.2