
Сообщение от
Leo008
Где тут ошибка ?
Размер массива в С++ должен задаваться так называемым Integral Constant Expression (целочисленным константным выражением - ЦКВ). Требование ЦКВ - существенно более сильное требование, чем просто "const". Это фактически требование быть
константой времени компиляции. Далеко не каждый "const" является ЦКВ. Ваш - не является.
Добавлено через 3 минуты

Сообщение от
MrGluck
это ещё называется VLA, входит в стандарт С99, в С++ так и не прижился( Но поддерживается gcc
Что интересно, С11 сделал, в некотором смысле, шаг назад о VLA. От реализаций языка С больше не требуется безусловной поддержки VLA. Реализации, не поддерживающие VLA, должны определять макро __STDC_NO_VLA__ со значением 1.