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

This diagnostic rule is based on the software development guidelines developed by [AUTOSAR](https://www.autosar.org/) \(AUTomotive Open System ARchitecture\) \.

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:

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

Another code example that triggers the analyzer:

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

If we rewrite the code by the rule, we will get the following:

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