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

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

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

Текущее время: 13:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru