|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
||||||
Heap corruption detected30.11.2014, 11:10. Показов 2117. Ответов 14
Метки нет (Все метки)
Возникает эта ошибка при выполнении функции Strings::Append (строка 81, в меню это пункт 3). Входные данные на всякий случай прикрепила. Почему?
0
|
||||||
| 30.11.2014, 11:10 | |
|
Ответы с готовыми решениями:
14
Heap corruption detected
Heap corruption detected |
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
|
| 30.11.2014, 11:52 [ТС] | |
|
Теперь еще одна проблема - в конце функции Strings::Merge удаляется временная переменная, которая создается при return, и res. И опять та же ошибка, при вызове деструктора от res, на строке delete[] str[i] на первом же элементе массива. Что опять?
0
|
|
|
Диванный эксперт
|
|
| 30.11.2014, 12:10 | |
|
Керра, Отсутствует конструктор копирования(Strings::Strings(const Strings& cpy))
в Merge Вы не выделяете память под сами строки, только под массив длин и массив указаделей Добавлено через 1 минуту Не по теме: хочется нажать ctrl+A, DEL ...
1
|
|
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
|
| 30.11.2014, 12:20 [ТС] | |
|
Не по теме: Cra3y, ну не надо так, у студентов код не может быть качественным, за редкими исключениями, учимся жеж Strings(Strings &right, int n = 0) - это копировщик, разве он не сработает как обычный, в нем же второе значение по умолчанию
0
|
|
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
||||||
| 30.11.2014, 12:44 [ТС] | ||||||
|
однако, именно этот копировщик и вызывается
Добавлено через 1 минуту при return создается временное значение, с помощью этого копировщика, потом это значение копируется куда надо, при этом так же вызывается этот копировщик, хотя вызывается он без n, т.е. используется то значение по умолчанию, как и предполагалось. то есть нет необходимости именно в той сигнатуре, главное чтобы был возможен вызов без дополнительных параметров Добавлено через 2 минуты и память выделяется в 113, 121 и 126 строках... а, кажется это устаревшая версия тут
0
|
||||||
|
Диванный эксперт
|
||||||
| 30.11.2014, 13:37 | ||||||
|
так вот хотя бы не падает...
0
|
||||||
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
|
| 30.11.2014, 13:57 [ТС] | |
|
это задание надо сделать на элементарном уровне, без библиотек. аа известно где конкретно ошибка?
0
|
|
|
Диванный эксперт
|
|||||||
| 30.11.2014, 14:06 | |||||||
0
|
|||||||
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
|
| 30.11.2014, 14:17 [ТС] | |
|
ну, здесь all warnings being treated as errors. а ошибка, которая приводит к этому heap corruption detected?
0
|
|
|
Диванный эксперт
|
||||||
| 30.11.2014, 14:29 | ||||||
|
Керра, я веду к тому что Ваш код тупо не собирается
Даже если не включать преобразование предупреждений в ошибки.
опять же 78я строка - утечка памяти
0
|
||||||
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
||||||
| 30.11.2014, 14:42 [ТС] | ||||||
|
Cra3y, нашла ошибку - в Found передавалось значение сколько первых строк сравнивать, ибо не для всех еще выделена память. но если передавался 0, который передавался по умолчанию, то значение менялось на number. хотя вначале выделена память только под 0 строк. исправила значение по умолчанию на -1, и в условии, соответственно, на -2 - работает без нового копировщика. копировщик попробовала - благодаря нему почему-то компилятор наконец-то указал на нужную строку в Found. не знаю как это связано... но теперь все работает как надо
вот только с этой утечкой непонятно что делать. разве что создавать лишнюю пустую строку, чтобы она потом удалилась с остальными.
0
|
||||||
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
|
| 30.11.2014, 15:11 [ТС] | |
|
это же часть функционала класса
0
|
|
| 30.11.2014, 15:11 | |
|
Помогаю со студенческими работами здесь
15
HEAP CORRUPTION DETECTED HEAP CORRUPTION DETECTED Heap Corruption detected (
heap corruption detected Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|