﻿# V798\. The size of the dynamic array can be less than the number of elements in the initializer\.

Анализатор обнаружил потенциально возможную ошибку, связанную с тем, что размер динамического массива может оказаться меньше количества элементов в его инициализаторе\. В этом случае при создании массива, в зависимости от того, какая версия оператора 'new' используется, будет либо выброшено исключение 'std::bad\_array\_new\_length', либо возвращен нулевой указатель\.

Рассмотрим пример:

```cpp
int n = 2;
...
int* arr = new int[n] { 1, 2, 3 };
```

Значение переменной 'n' меньше количества элементов в инициализаторе\. Корректный код должен иметь вид:

```cpp
int n = 3;
...
int* arr = new int[n] { 1, 2, 3 };
```