|
1 / 1 / 0
Регистрация: 08.05.2009
Сообщений: 16
|
|||||||||||
После компиляции VS2008 падает после удаления узла дерева, имеющего потомка24.05.2009, 17:16. Показов 6047. Ответов 36
Метки нет (Все метки)
Вот код на Си:
в борладне все работает. Под *nix системами после компиляции gcc и в win после компиляции VS2008 падает после удаления узла дерева, имеющего потомка. Не могу разобраться почему, вроде все корректно выделяю, да и free передаю тот же адрес, что выделил мне malloc. Помогите разобраться, пожалуйста. Выделю место, где программа падает, на всякий:
0
|
|||||||||||
| 24.05.2009, 17:16 | |
|
Ответы с готовыми решениями:
36
Удаление узла имеющего одного потомка
После удаления Avast'а система не запускается, падает в BSOD |
|
|
||
| 24.05.2009, 19:16 | ||
|
1
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 24.05.2009, 19:17 | |
|
Потому что вызывается функция. У функции адрес не меняется. Меняется только у указателя. А вот самой функции передается порченый указатель.
1
|
|
|
|
|||||||||||
| 24.05.2009, 19:23 | |||||||||||
Сообщение было отмечено Памирыч как решение
Решение
Да, главное тут не пояснил. Тип нам нужен только для того, чтобы выяснить, которую функцию нам дёргать - Class_A_func, а не какую-нибудь Class_BBB_func или Class_CCC_trampampam. Т.е. объект/экземпляр класса при вызове метода пишется для того, чтобы компилятор знал, с методом какого класса мы работаем и чтобы передал указатель на экземпляр данного класса
2
|
|||||||||||
|
инженер-системотехник
111 / 111 / 5
Регистрация: 10.03.2009
Сообщений: 533
|
|
| 24.05.2009, 19:23 | |
|
Спасибо за исчерпывающее объяснение
0
|
|
|
1 / 1 / 0
Регистрация: 08.05.2009
Сообщений: 16
|
||
| 24.05.2009, 20:48 [ТС] | ||
|
Evg, служебные метки не переписываются. Vourhey, я же говорил, что компилил и на gcc. Специально для тебя попробовал обратиться к cTemp прямо перед вызовом free, и, о чудо!!!, все работает, но вот на следующем шаге при вызове free программа падает. Кстати, повторное освобождение памяти борланд не отловит, а освободит область памяти еще раз. Возможно поэтому этот код выполняется на нем безупречно, все добавляется и корректно освобождается. Но все же очень странно то, что перед free я обращаюсь к этому объекту и не получаю ошибки. Да и по методу Evg, эта область памяти ранее не освобождается.
0
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 24.05.2009, 21:12 | |
|
А текст ошибки напиши сюда, плз.
0
|
|
|
1 / 1 / 0
Регистрация: 08.05.2009
Сообщений: 16
|
|
| 24.05.2009, 21:37 [ТС] | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 08.05.2009
Сообщений: 16
|
||||||
| 25.05.2009, 01:01 [ТС] | ||||||
|
вот исходник:
нажимаем 2, потом вводим "1 1", жмем 2, вводим "1 2", жмем 2, вводим "2 3", жмем 1, жмем 3, вводим 2 или дерево: 1->2->3 (удаляем элемент 2)
0
|
||||||
|
1 / 1 / 0
Регистрация: 08.05.2009
Сообщений: 16
|
|||||||||||
| 25.05.2009, 20:00 [ТС] | |||||||||||
|
хехехе, нашел ошибку!!!! =)
в строке 81
![]() Всем огромное спасибо за проявленный интерес и желание помочь. P.S.: версия gcc 4.3.2; libc 2.9
0
|
|||||||||||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||
| 26.05.2009, 04:51 | |||||||
0
|
|||||||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
| 26.05.2009, 10:36 | |
|
Ну, он запутался как раз вследствие того, что оно такое... хаотичное (сложно читать функции для него, это же на всё влияет)
0
|
|
|
|
|||
| 26.05.2009, 10:38 | |||
|
0
|
|||
| 26.05.2009, 10:38 | |
|
Ошибка компиляции после удаления файла в проекте в NetBeans C++ Алгоритм удаления узла из бинарного дерева Удаления узла из бинарного дерева поиска Вершина бинарного дерева: Как на рисунке будут выглядеть деревья до и после удаления? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|