>
>
>
V2576. MISRA. The identifier 'main' sho…


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

Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.

Это правило актуально только для C++. Функция 'main' должна присутствовать только в глобальном пространстве имён, чтобы разработчик точно понимал, что если она есть, то всегда является точкой входа в программу.

Пример кода, на который анализатор выдает предупреждение:

namespace N1
{
  int main();
}

Другой пример со срабатыванием анализатора:

namespace
{
  int main();
}

Код, переписанный в соответствии с правилом, может выглядеть так:

namespace N1
{
  int start();
}

Данная диагностика классифицируется как:

  • MISRA-CPP-7.3.2