Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2020, 17:44   #1
Amandoz
Новичок
Джуниор
 
Регистрация: 08.01.2020
Сообщений: 2
Восклицание Помогите, добавление элемента в конец дин.массива с++

Не понимаю почему у меня не выходит данный код (еще только учусь)
Код:
void pushBack(int* arr, int* size, int value)
{
	int *nwArr = new int[(*size)+1];

	for (int i = 0; i < *size; i++)
	{
		nwArr[i] = arr[i];
	}
	nwArr[(*size)++] = value;

	delete[] arr;

	arr = nwArr;
}

int main()
{
int size = 4;
	int* arr = new int[size];

	fillArray(arr, size, 1);
	showArray(arr, size);

	popBack(arr, &size, 2);

	showArray(arr, size);

	delete[] arr;

}
Выдает исключение, но если в параметрах функции сделать ссылку на указатель (int *&arr), то все начинает работать, можно ли как-то сделать это именно через указатель?

Пробовал тело функции просто вставить в main() тоже работает, а так не выходит!
Amandoz вне форума Ответить с цитированием
Старый 08.01.2020, 18:14   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Функция добавляет значение в конец массива?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 08.01.2020, 18:24   #3
Amandoz
Новичок
Джуниор
 
Регистрация: 08.01.2020
Сообщений: 2
По умолчанию

Да, точнее должна, но не делает этого
Amandoz вне форума Ответить с цитированием
Старый 09.01.2020, 09:37   #4
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 960
По умолчанию

Цитата:
Сообщение от Amandoz Посмотреть сообщение
можно ли как-то сделать это именно через указатель
можно
int** arr

но со ссылкой вариант удобнее, на мой взгляд. Да и size по ссылке лучше передать
int& size

а наигравшись в велосипеды лучше использовать std::vector
Алексей1153 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++, добавление строки в конец файла Алексей_2012 Помощь студентам 17 19.05.2015 09:22
Добавление елементов в конец масива?с++ DIQUON Помощь студентам 1 19.12.2012 23:09
Добавление в конец списка saix Общие вопросы C/C++ 1 17.03.2012 21:27
Добавление в конец списка DBGrid foravastxxx БД в Delphi 13 27.02.2012 14:32
добавление элемента массива при подключении нового пользователя Lokos Работа с сетью в Delphi 10 01.11.2010 02:27