﻿# V508\. The 'new type\(n\)' pattern was detected\. Probably meant: 'new type\[n\]'\.

Анализатор обнаружил код, который может содержать опечатку и, как следствие, ошибку\. Происходит динамическое создание одного единственного объекта целочисленного типа и его инициализация\. Высока вероятность, что из\-за опечатки используются круглые скобки вместо квадратных\.

Пример:

```cpp
int n;
...
int *P1 = new int(n);
```

Происходит выделение памяти для одного объекта типа int\. Это достаточно странно\. Вероятно, корректный код должен выглядеть следующим образом:

```cpp
int n;
...
int *P1 = new int[n];
```

Анализатор выдает предупреждение только в том случае, если память выделяется для простых объектов\. При этом аргумент в скобках должен иметь целочисленный тип\. В результате, анализатор не будут выдавать предупреждения на следующий корректный код:

```cpp
float f = 1.0f;
float *f2 = new float(f);

MyClass *p = new MyClass(33);
```