int *tmp = new int[size]{0};
for(int i = 0; i < size; i++)
tmp[i] = p[i];
delete [] p;
p = new int[size++];
for(int i = 0; i < size; i++)
p[i] = tmp[i];
p[size - 1] = add_item;
delete [] tmp;
}
Интересно, что я делаю не так?
terminate called after throwing an instance of 'std::bad_array_new_length'
what(): std::bad_array_new_length
[1] 13444 IOT instruction (core dumped) ./main
Программу
Так, в чём именно проблема? Я просто в упор не вижу проблему...
Я тоже, хорошо если бы ты прислал код.
Стикер
добавляет значение add_item в конец динамического массива
А куда девается после этого динамический массив ?
@Linuxoid_1 - этот вопрос так и остался неотвечен
@Linuxoid_1 Вот если ответишь себе на этот вопрос - может что-то поймёшь
tmp будет удалён, но т.к. *p это указатель, он поменяется в ходе выполнения ф-и
0_о вроде срабатывало, хм... Ладно
Обсуждают сегодня