Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
18 / 17 / 22
Регистрация: 03.05.2016
Сообщений: 105
1

Передача вектора в функцию по указателю

21.02.2017, 15:00. Показов 4848. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть функция с таким прототипом:
C++
1
void Split(const string& text, char delimeter, const vector<string>* pPars);
как воспользоваться методом push_back для pPars?
При попытке написать
C++
1
pPars->push_back(my_str);
пишет ошибку, при том, что метод сам выскакивает подсказкой после того, как напечатать стрелку. Заранее спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2017, 15:00
Ответы с готовыми решениями:

Передача объекта по указателю в функцию
Здравствуйте. При передаче объекта в метод другого объекта по указателю, метод получает непонятно...

Передача массива в функцию по указателю
Помогите с заданием нужно передать массив в функцию по указателю

Передача в функцию по ссылке или указателю
Гуру C++, как предпочтительнее делать?:) void f1(int &amp;a) { a = 5; } void f2(int *...

Передача аргументов в функцию по ссылке и указателю
Чем отличается передача по ссылке от передачи по указателю аргументов в функцию?

7
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
21.02.2017, 15:44 2
Цитата Сообщение от Hilarior Посмотреть сообщение
пишет ошибку
Текст ошибки? Передаётся указатель на const, поэтому менять вектор, через этот указатель, нельзя.
0
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
21.02.2017, 15:45 3
Весь код в студию. И зачем вообще вектор передавать по указателю а не по ссылке?
0
18 / 17 / 22
Регистрация: 03.05.2016
Сообщений: 105
21.02.2017, 17:36  [ТС] 4
Цитата Сообщение от nd2 Посмотреть сообщение
Передаётся указатель на const, поэтому менять вектор, через этот указатель, нельзя.
это константный указатель, у него нельзя менять адрес, но значение-то можно.

Добавлено через 5 минут
Цитата Сообщение от Новичок Посмотреть сообщение
Весь код в студию.
Да хоть такой:
C++
1
2
3
4
5
void Split(const string& text, char delimeter, const vector<string>* pPars)
{
    string str = "asd";
    pPars->push_back(str);
}
Дело в том, что прототип задавался, я должен написать саму функцию, я её написал и она работает, если создавать это вектор внутри функции, то есть локально, но мне нужно это записать в вектор, который передадут в функцию. прототип я менять не могу
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
21.02.2017, 17:37 5
Лучший ответ Сообщение было отмечено Hilarior как решение

Решение

Цитата Сообщение от Hilarior Посмотреть сообщение
это константный указатель
Это указатель на const. Константный указатель:
C++
1
vector<string>*const pPars
1
18 / 17 / 22
Регистрация: 03.05.2016
Сообщений: 105
21.02.2017, 17:38  [ТС] 6
error C2663: 'std::vector<_Ty>:ush_back' : 2 overloads have no legal conversion for 'this' pointer
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
21.02.2017, 17:45 7
Цитата Сообщение от Hilarior Посмотреть сообщение
это константный указатель, у него нельзя менять адрес, но значение-то можно.
То что до * относится к данным, адрес которых содержит указатель, то что после * относится к самому указателю.
0
18 / 17 / 22
Регистрация: 03.05.2016
Сообщений: 105
21.02.2017, 17:48  [ТС] 8
да, действительно, когда переставил, всё прекрасно заработало.. видимо, опечатка, спасибо за помощь
0
21.02.2017, 17:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2017, 17:48
Помогаю со студенческими работами здесь

Передача параметра по указателю в виртуальную функцию
Добрый вечер и с наступающим всех Новым Годом! условие задачи такое: Мышь (абстрактный) Вход:...

Передача параметров в функцию по значению, по ссылке и по указателю
Доброе время суток товарищи программисты. Столкнулся с кучей ошибок в написании простой программы....

Передача параметров в функцию по указателю. Функция с указателем
Функция должна уменьшать значение первого и второго параметров в количество раз указанных в...

Указатели и массивы. Передача массива в функцию по указателю
Как передать массив в функцию,которая должна заполнить этот массив ? Вот,что я составил, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru