0

Благодаря динамическому распределению памяти следующий код работает отлично.Почему мы не можем указать размер переменной при объявлении статического массива?

int *ptr; 
int size1; 

cin >> size1; 

ptr = new int[size1]; 

При статическом распределении памяти, я получаю следующее сообщение об ошибке: массив связан не целая константа, прежде «]» лексема

int size2; 
cin >> size2; 
int arr[size2]; 

Почему это так? Почему мы не можем указать размер переменной?

ответ

1

Массив переменной длины - это расширение, поддерживаемое некоторыми компиляторами, и оно еще не стандартно.

Смежные вопросы