QSA的子对象删除问题
|
我在删除QSA的引用对象时遇到了一些问题。在构造函数中,我写道:
QSProject * project = {initialization of QSProject}
MyWrapper * wrapper = new MyWrapper; // MyWrapper is QObject\'s child. It comes without parent here
project->addObject(wrapper);
我曾在描述符中写道:
project->clearObjects();
delete project;
delete wrapper;
当我试图删除包装器时,此代码会导致析构函数执行时出现段错误。
我进行了一些研究,我知道:
QSProject不会删除其“子对象”,因此这不是“双重删除”问题
如果我不向构造函数中的QSProject添加包装器,则效果很好。
如果我不删除描述符中的包装器,则它会很好地工作(但会导致内存泄漏)。
这是怎么回事?
没有找到相关结果
已邀请:
1 个回复
磋判粗惊