![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Litkevich Yuriy |
![]()
Сообщение
#1
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Никак не могу въехать в виртуальный деструктор.
Есть некая программа написанная с использованием Qt, работает стабильно. При развитии программы, она может падать в некий момент времени, обычно при взаимодействии с пользовательским интерфейсом. Но чаще возникает авария при завершении работы. Эту ситуацию можно пердотвратить в ведя в один из классов пустой, ничего не делающий, виртуальный деструктор. Речь идёт о наследнике либо QObject, либо QWidget. Может кто-нибудь объяснить, как может влиять создание руками виртуального деструктора, при условии, что его тело пустое? |
|
|
![]() |
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
Мне не понятно, может ли влиять явное создание пустого деструктора у наследника QObject (или иного класса, с виртуальным деструктором). На мой взгляд нет. однозначно нет. скорее всего, ошибка в потоках, либо в оставшихся "висящими" объектах ядра. проверяй, все ли ресурсы освобождаются корректно, правильно ли завершаются потоки, нет ли "подвисших" линков на несуществующие переменные после закрытия основного потока. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 21.6.2025, 18:51 |