рабочей?
Никак
почему такое нельзя реализовать?
Можно, но другими средствами
кроме вектора
int* arr=new int[a]
тут даже названия нет, как им пользоваться?
спасибо
Это vla, в с++ запрещено
Потому что стандарт это запрещает
В С это разрешено стандартом, в GCC это есть даже в режиме с++ в виде расширения. Но некоторые компиляторы С все равно это не реализуют (микрософт). И правильно делают, нечего идиотизм поощрять
Потому что это ебанутая фича
я введу в а 99999999999999999999 что произойдёт?
пусть это значение схавает инт для начала
Ты вводишь размер, создаёшь массив этого размера на стеке, как узнать, что тебе хватило стека?
перед созданием проверку сделать нельзя?=_=
Ну, что проверять будешь?
Стек имеет очень небольшой объем, в винде 1 mb по дефолту, поэтому можно выстрелить в ногу, исчерпав весь стек
может ли память сток зарезервировать в целом
Ну, давай конкретнее, как проверят будешь?
ну как то же выплевывает мою конструкцию
компилятор
Я ж тебе говорю, это - нестандартное расширение GCC, оно непереносимое.
Обсуждают сегодня