63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
|
|
1 | |
Heap corruption при вызове деструктора для char*12.09.2014, 15:39. Показов 2712. Ответов 26
Метки нет (Все метки)
в классе есть переменная типа char*, в конструкторе ей выделяется память и записывается значение, в деструкторе пытаюсь ее удалить и выскакивает ошибка о_О вообще странно... проверял отладчиком перед вызовом delete переменная не пустая точно...
0
|
12.09.2014, 15:39 | |
Ответы с готовыми решениями:
26
Ошибка "*.exe вызвал срабатывание точки останова" и "HEAP CORRUPTION" при вызове деструктора программой Ошибка при вызове деструктора (при вызове delete в деструкторе) Heap corruption detected при удалении динамического массива Heap corruption detected при добавлении нового элемента в однонаправленный список |
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
12.09.2014, 18:56 | 21 |
GetHelp, запустил код пошагово, ошибка возникала при попытке вывода, дописал то, что выше. Ошибки не стало в том месте. Судя по всему, где-то еще с памятью начудили, т.к. она продолжает возникать дальше в коде, просто времени подробнее смотреть нет пока.
Добавлено через 2 минуты alsav22, действовал по принципу: смутил код, чуток подправил, проверил на ошибки. А так вы правы, да.
0
|
И целого heap'а мало
96 / 57 / 17
Регистрация: 31.07.2014
Сообщений: 291
|
|
12.09.2014, 19:09 | 23 |
Сообщение было отмечено GetHelp как решение
Решение
Бл*-11-1-2-! В деструкторе выведи что-нибудь, и тогда увидишь, у тебя деструктор вызывается дважды. То бишь, ты освобождаешь память дважды.
Явно вызывать деструктор есть очень плохо. Делать это можно в особых ситуациях. Например, placement new. Убери явный вызов деструктора, UB же!
1
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
12.09.2014, 19:14 | 25 |
GetHelp, Шаг 1: комментим деструктор нафиг, как сказали только что.
шаг 2: убираем присвоения нулей последнему элементу строки. profit????
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
12.09.2014, 19:16 | 26 | |||||
0
|
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
|
|
12.09.2014, 19:25 [ТС] | 27 |
да
все работает ВООО !!! спасибо теперь работает ^_^ ручками в блокноте
0
|
12.09.2014, 19:25 | |
12.09.2014, 19:25 | |
Помогаю со студенческими работами здесь
27
Посчитать значения функции Y для диапазона X (Heap corruption detected) Ошибка при вызове деструктора Ошибка при вызове деструктора Ошибка при вызове деструктора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |