Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2018, 22:04   #1
shonzie
Пользователь
 
Регистрация: 29.07.2016
Сообщений: 13
По умолчанию SIGABRT при пробе удаления удаленного участка памяти - способ избежать этого

Я только начинаю свой путь в ООП, поэтому написал в целе тестирования новинок ООП класс связного списка.
Есть деструктор вида

Код:
~LList() {
        for (LLNode<T> *crawl{root_}; crawl; crawl = crawl->getNext()) {
            LLNode<T> *tmp = crawl;
            delete tmp;
        }
    }
Насколько я понял, после того как я удалил участок памяти некого ноуда, вызвался (автоматически через некоторое время) деструктор этого же ноуда и попытался опять его удалить.
Какие принципиальные ошибки я допустил и как исправить данное поведение программы ?
shonzie вне форума Ответить с цитированием
Старый 27.06.2018, 00:01   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Нет. Вы удалили объект, а потом пытаетесь вызвать его метод.
p51x вне форума Ответить с цитированием
Старый 27.06.2018, 13:38   #3
shonzie
Пользователь
 
Регистрация: 29.07.2016
Сообщений: 13
По умолчанию

Действительно, зачем я написал этот фор.. только запутал себя
Код:
~LList() {
        LLNode<T> *crawl{root_};
        while (crawl) {
            LLNode<T> *tmp = crawl;
            crawl = crawl->getNext();
            delete tmp;
        }
    }
shonzie вне форума Ответить с цитированием
Старый 27.06.2018, 13:38   #4
shonzie
Пользователь
 
Регистрация: 29.07.2016
Сообщений: 13
По умолчанию

Спасибо за помощь!
shonzie вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
копирование участка памяти xrob Общие вопросы Delphi 5 27.03.2014 15:40
ЗАПЛАЧУ ЗА СПОСОБ!!(УДАЛЕНИЯ ТЕКСТУР В ИГРЕ WARFACE) vitalek121212 Фриланс 3 16.06.2013 15:36
Избежать удаления троечки, в mp3 HellMercenariess Общие вопросы Delphi 7 04.07.2012 21:34
Выделение участка памяти RAZOR1703 Общие вопросы C/C++ 3 24.11.2011 19:18
Копирование участка памяти Celestia Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 21.02.2011 09:18