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

Диагностическое правило основано на руководстве [MISRA](https://www.misra.org.uk/) \(Motor Industry Software Reliability Association\) по разработке программного обеспечения\.

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

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

```cpp
namespace N1
{
  int main();
}
```

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

```cpp
namespace
{
  int main();
}
```

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

```cpp
namespace N1
{
  int start();
}
```