Нет, подождите, несите меня...
VLA всегда были расширением GCC, но они были приняты C99:
[C99: 6.7.5.2/4]:
Если размер отсутствует, тип массива является неполный type. Если размер равен *, а не выражению, Тип массива - тип массива переменной длины неопределенного размера, который может использоваться только в объявлениях с областью прототипа функции; такие массивы, тем не менее, являются полными типами. Если размер является целым числом константное выражение и тип элемента имеет известный постоянный размер,тип массива не является массивом переменной длины; в противном случае Тип массива - тип массива переменной длины.
C99 также известен как ISO/IEC 9899:1999
.
Сейчас:
[C++11: 1.1/2]:
С++ - это язык программирования общего назначения на языке программирования C, как указано в ISO/IEC 9899: 1999 (далее именуемый стандартом C). В добавок к средства, предоставляемые C, С++, предоставляют дополнительные типы данных, классы, шаблоны, исключения, пространства имен, перегрузка оператора, имя функции перегрузки, ссылок, операторов бесплатного управления магазинами и дополнительные библиотеки.
Значит, у С++ 11 тоже есть VLA?