Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
#1

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

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

Здравствуйте. При передаче объекта в метод другого объекта по указателю, метод получает непонятно что.
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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 20:31     Передача объекта по указателю в функцию
Посмотрите здесь:
Передача вектора в функцию по указателю C++
Передача массива в функцию по указателю C++
Передача аргументов в функцию по ссылке и указателю C++
Передача параметра по указателю в виртуальную функцию C++
Передача в функцию по ссылке или указателю C++
Указатели и массивы. Передача массива в функцию по указателю C++
Передача параметров в функцию по значению, по ссылке и по указателю C++
Передача параметров в функцию по значению, по ссылке или по указателю C++
Передача аргумента в функцию по значению, по ссылке, по указателю: в чём концептуальная разница? C++
C++ Передача объекта в функцию или функцию друга
Передача объекта в функцию C++
C++ Передача объекта в функцию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.10.2012, 02:19     Передача объекта по указателю в функцию #2
besh]<a, по этому коду всё нормально. Может, непонятно что получается в конструкторе класса того объекта, который вы передаёте (Info то бишь)?
besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
10.10.2012, 12:45  [ТС]     Передача объекта по указателю в функцию #3
silent_1991,
Я сначала эти классы разработал и протестировал в консольном проекте. Проверил количество вызовов конструкторов и деструкторов, они равны. В консольном проекте все работало. Затем добавляю хедеры в оконное приложение Builder'a(2010) и вылетаю.
Я бился над этой проблемой 3 дня в итоге сделал так
C++
1
void Add(Info&)
Ну и пришлось изменить поле класса, убрать указатель и поставить обычную переменную.
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
10.10.2012, 15:37     Передача объекта по указателю в функцию #4
код в посте нормальный. а то, что вы не разобрались с тем, что же на самом деле происходит - это плохо. как бы фобия к указателям не развилась, которая потом приведет к хитрому коду, который написан ради того, чтобы избежать работы с ними. проблема скорее всего где-то в другом месте и возможно новый вариант решения лишь припрятал ее еще глубже. но это не значит что она не проявит себя.
besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
11.10.2012, 16:52  [ТС]     Передача объекта по указателю в функцию #5
У меня стоит пиратский Builder, и сейчас творятся ужасные вещи. При попытке сделать вывод в RichEdit1 зацикливается алгоритм, а если выводить RichEdit2, то все нормально.
Yandex
Объявления
11.10.2012, 16:52     Передача объекта по указателю в функцию
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru