Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
1

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

03.10.2012, 20:31. Показов 1693. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. При передаче объекта в метод другого объекта по указателю, метод получает непонятно что.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class SomeObj {
   .........
 
   Add(Info*);
   .........
}
 
 
SomeObj someObj;
 
Info * inf = new Info;
 
someObj.Add(inf);
Пытаюсь в теле Add обращаться к inf, вылетаю с EAccessViolation
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2012, 20:31
Ответы с готовыми решениями:

Передача вектора в функцию по указателю
Есть функция с таким прототипом: void Split(const string& text, char delimeter, const...

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

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

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

4
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
08.10.2012, 02:19 2
besh]<a, по этому коду всё нормально. Может, непонятно что получается в конструкторе класса того объекта, который вы передаёте (Info то бишь)?
0
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
10.10.2012, 12:45  [ТС] 3
silent_1991,
Я сначала эти классы разработал и протестировал в консольном проекте. Проверил количество вызовов конструкторов и деструкторов, они равны. В консольном проекте все работало. Затем добавляю хедеры в оконное приложение Builder'a(2010) и вылетаю.
Я бился над этой проблемой 3 дня в итоге сделал так
C++
1
void Add(Info&)
Ну и пришлось изменить поле класса, убрать указатель и поставить обычную переменную.
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
10.10.2012, 15:37 4
код в посте нормальный. а то, что вы не разобрались с тем, что же на самом деле происходит - это плохо. как бы фобия к указателям не развилась, которая потом приведет к хитрому коду, который написан ради того, чтобы избежать работы с ними. проблема скорее всего где-то в другом месте и возможно новый вариант решения лишь припрятал ее еще глубже. но это не значит что она не проявит себя.
0
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
11.10.2012, 16:52  [ТС] 5
У меня стоит пиратский Builder, и сейчас творятся ужасные вещи. При попытке сделать вывод в RichEdit1 зацикливается алгоритм, а если выводить RichEdit2, то все нормально.
0
11.10.2012, 16:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2012, 16:52
Помогаю со студенческими работами здесь

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

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

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

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

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

Передача аргумента в функцию а не по указателю
Доброе время суток помогите разобраться как сделать задача: Написать функцию, которая удаляет...


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

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