Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.
Это правило актуально только для C++. Функция 'main' должна присутствовать только в глобальном пространстве имён, чтобы разработчик точно понимал, что если она есть, то всегда является точкой входа в программу.
Пример кода, на который анализатор выдает предупреждение:
namespace N1 { int main(); }
Другой пример со срабатыванием анализатора:
namespace { int main(); }
Код, переписанный в соответствии с правилом, может выглядеть так:
namespace N1 { int start(); }
Данная диагностика классифицируется как:
|