#cpp #массивы #gcc #mingw #codeblocks
Необходимо создать массив, размер которого заранее неизвестен (например, его размер будет введён с клавиатуры). Наивное решение (неправильное): int n; std::cin >> n; int mas[n]; Этот способ на некоторых компиляторах работает (например, на gcc). Какой флаг компиляции нужно выставить, чтобы на это действие получить warning ? А лучше ошибку компиляции (чтобы -Werror не ставить просто так). Это необходимо в учебных целях, чтобы не объяснять детям тонкости стандарта и нестандартных расширений компиляторов. Хочется им просто сказать, что так делать нельзя, что компилятор это не скомпилирует (и защититься от фейла с gcc :) ). Конкретнее, это будет использоваться в среде CodeBlocks, там компилятор MinGW.
Ответы
Ответ 1
Используйте -pedantic или -Wvla: warning: ISO C++ forbids variable length array 'mas' [-Wvla]
Комментариев нет:
Отправить комментарий