GCC не выдает ошибку, когда вы инициализируете массив переменного размера, пока переменная является константой, но когда это не так, она не будет компилироваться.
В чем причина этого?Что плохого в этом:
int size = 7;
int test[size] = {3, 4, 5};
Это не скомпилируется вообще, но если я не инициализирую test [], то он скомпилируется!Это не имеет никакого смысла для меня, потому что, насколько я знаю, должен быть сделан кадр стека, чтобы соответствовать этому массиву в соответствии с его размером (7 дюймов), независимо от того, что (что означает, что целочисленные литералы, которые я использую, на самом деле неимеют какое-либо значение, если я не ошибаюсь), так какая разница, если я его инициализирую или нет?
Еще один из моих безумных вопросов о дизайне C ++ ...
Спасибо!