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

Ошибка сегментации при срабатывании деструктора - C++

Восстановить пароль Регистрация
 
igorbelykh
8 / 8 / 2
Регистрация: 01.03.2013
Сообщений: 85
06.12.2013, 20:01     Ошибка сегментации при срабатывании деструктора #1
Всем привет. Помогите, пожалуйста, разобраться с деструкторами. Суть проблемы заключается вот в чем: есть класс MyClass1 и AnotherClass, который используется в MyClass1. MyClass1 создает при инициализации динамический массив указателей на класс AnotherClass:
C++
1
2
acl = new AnotherClass*[n];
for(i = 0; i < n; ++i) acl[i] = new AnotherClass(data[i]);
AnotherClass при инициализации объекта тоже создает некоторые указатели и держит их, как говорится, до победного. И вот, когда дело доходит до уничтожения объектов, деструктор AnotherClass::~AnotherClass выкидывает такую ошибку: Ошибка сегментации, что говорит о том, что я, мол, заставляю его производить действия по неправильным адресам памяти (ну, или как там правильно будет сказать?) В дебаггере начинаю проверять переменные и выясняется, что переменные, которые на протяжение всей жизни объекта просто не могут быть больше одних и меньше других значений, вдруг начинают содержать вообще непонятные данные. На сколько я смог понять, то объекты вообще битые какие-то при срабатывании деструктора. Но почему? Что я не так делаю?

Заранее всем большое спасибо за оказание помощи!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 20:01     Ошибка сегментации при срабатывании деструктора
Посмотрите здесь:

Ошибка сегментации при записи строки C++
C++ Ошибка при вызове деструктора
C++ Вылет при срабатывании деструктора
C++ ошибка при вызове деструктора!
C++ Ошибка при вызове деструктора
Ошибка при вызове деструктора C++
Ошибка при работе деструктора C++
C++ Ошибка при вызове деструктора

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
06.12.2013, 20:14     Ошибка сегментации при срабатывании деструктора #2
Покажите реализацию конструктора, деструктора, оператора присваивания и конструктора копий
igorbelykh
8 / 8 / 2
Регистрация: 01.03.2013
Сообщений: 85
06.12.2013, 20:17  [ТС]     Ошибка сегментации при срабатывании деструктора #3
Я прошу прощения, тупанул я по-черному. Неправильно удалял массив ссылок.
C++
1
2
for(i = 0; i < n; ++) delete [] acl[i];
delete [] acl;
Сейчас переписал и все заработало
C++
1
2
for(i = 0; i < n; ++) delete acl[i];
delete [] acl;
Yandex
Объявления
06.12.2013, 20:17     Ошибка сегментации при срабатывании деструктора
Ответ Создать тему
Опции темы

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