Daniro_San
@Daniro_San
Программист

{} при инициализаци массива массивов?

Почему с -c++11 компилируется такое:
int x=2, y=5;
int arr[x][y]{};

А с -c++14 нет?
Причем если убрать {} , то все компилируется и с -c++14 ?
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
@MiiNiPaa
Вообще, оно не должно компилироваться вообще. Размеры массивов должны быть константными выражениями.

То что у вас — расширение компилятора. Не работает в С++14 скорее всего потому, что в С++11 компилятор использует собственное расширение основанное на сишных VLA. А в С++14 — более ограниченные С++ ARB, которые могли войти в С++14, но не вошли.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы