Я использую C ++ в течение нескольких лет, и сегодня я увидел некоторый код, но как это может быть совершенно законно?
int main(int argc, char **argv)
{
size_t size;
cin >> size;
int array[size];
for(size_t i = 0; i < size; i++)
{
array[i] = i;
cout << i << endl;
}
return 0;
}
Составлено по GCC.
Как определить размер во время выполнения без new
или malloc
?
Просто чтобы перепроверить, я погуглил некоторые, и все похожие на мой код, как утверждается, выдают ошибку размера хранилища.
Как программировать даже на Deitel C ++ с. 261 состояние в соответствии с общей ошибкой программирования 4.5:
Для определения размера автоматических и статических массивов можно использовать только константы.
Просвети меня.