У меня есть стандартный класс, производный от QWidget, но я получаю двойное освобождение при уничтожении виджета.всякий раз, когда я добавляю указатель QTreeView в качестве переменной-члена.
Например:
private:
QTreeView *m_treeView;
В конструкторе класса я делаю простое:
m_treeView = new QTreeView(this);
И QWidgetДеструктор класса -derived является деструктором по умолчанию.
Если я полностью отказываюсь от использования указателя на член и выполняю:
QTreeView *treeView = new QTreeView(this);
Все хорошо.Наличие указателей на члены QLabel также работает нормально.Почему я вижу это поведение?Независимо от того, является ли указатель членом класса, он не должен иметь никакого отношения к деструктору класса, поскольку объекты создаются в куче, и классы не удаляют объекты, на которые указывают их переменные-члены, если это не указано в инструкции.пользовательский деструктор.