Почему нельзя использовать значение, введенное пользователем для создания массива?

Везде говорится что в c++ при создании массива размер должен быть известен во время компиляции, то есть размер должен быть константой. Но почему тогда значение введенное пользователем прекрасно подходит для создания массива?

int n = 1;
cin >> n;
char str[n];
cout << sizeof(str) << endl;

Ввожу 100 и sizeof возвращает также 100, а должен вроде как вернуть 1. Что я не понимаю?


Ответы (0 шт):