История изменений
Исправление rumgot, (текущая версия) :
В смысле так?:
int main() {
int i;
cin >> i;
int a[i];
}
Если что, это не стандартный код C++. Gcc и Clang его скомпилируют. А вот MSVC даст ошибку. Это называется VLA - Variable-length array и это расширение компилятора (https://ru.stackoverflow.com/questions/814027/Зачем-нужны-динамические-массивы-в-c).
Это конечно удобно, но я бы таким не пользовался, чтобы не входило в привычку и потом случайно не написать такое в коммерческом кроссплатформенном проекте и через некоторое время обнаружить, что под определенным компилятором это не компилируется.
Исправление rumgot, :
В смысле так?:
int main() {
int i;
cin >> i;
int a[i];
}
Если что, это не стандартный код C++. Gcc и Clang его скомпилируют. А вот MSVC даст ошибку. Это называется VLA - Variable-length array и это расширение компилятора (https://ru.stackoverflow.com/questions/814027/Зачем-нужны-динамические-массивы-в-c).
Исправление rumgot, :
В смысле так?:
int main() {
int i;
cin >> i;
int a[i];
}
Если что, это не стандартный код C++. Gcc и Clang его скомпилируют. А вот MSVC даст ошибку. Это называется VLA - Variable-length array и это расширение компилятора (https://ru.stackoverflow.com/questions/814027/Зачем-нужны-динамические-массивы-в-c).
Исходная версия rumgot, :
В смысле так?:
int main() {
int i;
cin >> i;
int a[i];
}
Если что, это не стандартный код C++. Gcc и Clang его скомпилируют. А вот MSVC даст ошибку. Это называется VLA - Variable-length array и это расширение компилятора (https://ru.stackoverflow.com/questions/814027/%d0%97%d0%b0%d1%87%d0%b5%d0%bc-%d0%bd%d1%83%d0%b6%d0%bd%d1%8b-%d0%b4%d0%b8%d0%bd%d0%b0%d0%bc%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d0%b5-%d0%bc%d0%b0%d1%81%d1%81%d0%b8%d0%b2%d1%8b-%d0%b2-c).