Здравствуйте, _Punisher_, Вы писали:
_P_>Есть класс:
_P_>class XFig {
_P_>public:
_P_> int i;
_P_> virtual ~XFig();
_P_>};
_P_>int cout();
_P_>int foo(){
_P_> XFig *mass[coun()];
_P_>};
_P_>output:
_P_> foo.cpp(10): error: unsupported underlying vla type (non-POD class type)
_P_> XFig* countWidgets[count()];
_P_> ^
_P_>Нужны коментария по поводу ошибки. Правильно ли себя ведет компилятор по отношению к стандарту.
Ну и всё правильно.
Нельзя разместить на стеке или в статике массив неконстантной длины. В куче — на здоровье.
Я что-то вообще не понимаю. Как это ты собираешся объявлять массив неизвестной на этапе компиляции размерности?
В основном тебе уже все сказали, размер массива задается константным выражением. Но тут у тебя странное сообщение — ты чем компилил-то? vla — это не из С++, это из С.