Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
186 / 53 / 19
Регистрация: 23.12.2016
Сообщений: 162
1

HEAP CORRUPTION DETECTED не могу найти причину

04.08.2017, 13:38. Показов 725. Ответов 2
Метки нет (Все метки)

вот фрагмент кода

C++
1
2
3
4
5
6
7
8
int size;
    char *TempChar;
    MyStream.read((char*)&size, sizeof size);
    TempChar = new char(size + 1);
    MyStream.read(TempChar, size);
    TempChar[size] = '\0';
    Name = TempChar;
    delete[] TempChar;
Всё из файла читает как надо, и вообще работает нормально. Но только до оператора delete[] - на нём пишет что "Heap corruption detected.. CRT Detected that the application wrote to memory after end of heap".
Если закомментировать эту самую delete[], то начинает вылезать ошибка "Нарушение прав доступа" вообще в другом классе, ни как с данным не связанным, в абсолютно аналогичной ситуации - при вызове delete[]
Не могу понять причину.
Visual studio 2015. Режим Debug.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2017, 13:38
Ответы с готовыми решениями:

HEAP CORRUPTION DETECTED не могу найти ошибку
код весь прорабатывает, но в конце выдаёт HEAP CORRUPTION через дебаг прогнал но так и не нашел...

Heap corruption detected
Heap corruption на строке 93 при первом же выполнении цикла. Из-за чего? #include <locale.h> //...

HEAP CORRUPTION DETECTED
Доброго времени суток, господа. Только начал изучать ООП и столкнулся с проблемой. Нужно...

Heap Corruption detected (
что не правильно? запускаю и ошибка вылетает как на предидущей картинке template<typename TT>...

2
866 / 789 / 267
Регистрация: 27.07.2012
Сообщений: 2,226
04.08.2017, 13:43 2
C++
1
2
3
    TempChar = new char[size + 1]; // <-- квадратные скобки, если создаём массив
 
    delete[] TempChar;
1
186 / 53 / 19
Регистрация: 23.12.2016
Сообщений: 162
04.08.2017, 13:56  [ТС] 3
Ух, а слона то я и не заметил )))) Столько сижу уже и медитирую над кодом, а что там круглые скобки - не обратил внимания. Вообще у меня с круглыми скобками проблема - руки ставят их автоматически иногда даже после объявления переменной.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2017, 13:56

HEAP CORRUPTION DETECTED
Не могу понять, почему выдает такую ошибку, когда я освобождаю память: &quot;HEAP CORRUPTION DETECTED:...

Heap corruption detected
Ошибка возникает после отработки программы Заголовочный файл: #pragma once #include&lt;iostream&gt;...

Heap corruption detected
При попытке очистить память выдает &quot;Heap corruption detected&quot;. Помогите пожалуйста( //...

Heap corruption detected
Добрый день! Проблема вот в чём: когда выполнение кода доходит до 163 строки, появляется ошибка: &quot;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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