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

Данное диагностическое правило основано на руководстве [AUTOSAR](https://www.autosar.org/) \(AUTomotive Open System ARchitecture\) по разработке программного обеспечения\.

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

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

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

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

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

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

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