当我关闭我的应用程序并且析构函数为此类运行时,我对seg故障感到沮丧。
vlocationdropdowns.h:
#include <QWidget>
class VLocationDropDowns : public QWidget
{
Q_OBJECT
public:
VLocationDropDowns(QString activeText, QWidget *parent = 0);
~VLocationDropDowns();
};
vlocationdropdowns.cpp:
VLocationDropDowns::VLocationDropDowns(QString activeText, QWidget *parent) :
QWidget()//I've also had this as QWidget(parent, Qt::Widget)
{
}
VLocationDropDowns::~VLocationDropDowns()
{
}
我在另一个类的构造函数中创建了这个类的对象(locationLineEdit是一个指针)(也许我应该说这个类也继承自QWidget):
locationDropDowns = new VLocationDropDowns(randomString, this);
但是当该类的析构函数运行delete locationDropDowns;
时,我会遇到段错误。
我是管理记忆的新手,所以我意识到这可能是一个菜鸟问题,但我现在正在搞乱它。我已经注释掉了我能做的所有内容 vlocationdropdowns.cpp它仍然是错误的,所以我现在不知道。可能导致这种情况的原因是什么?
答案 0 :(得分:3)
我会按顺序尝试一些建议:
Q_OBJECT
QWidget
。