我正在使用 Qt 4.7.4(64 位)开发一个 gui proram。我试图将问题隔离如下:
我有一个窗口:class PreferencesWindow : public QMainWindow
在另一个类中我初始化并将其显示为
QSharedPointer<PreferencesWindow> pPreferencesWindow = QSharedPointer<PreferencesWindow>(new PreferencesWindow());
pPreferencesWindow->show();
一切都很好,然后我通过按下ESC
或单击x
窗口上的按钮来关闭窗口。然后我打电话
QApplication::quit();
终止整个程序。它终止,但在终止之前给出了分段错误。
这里的问题是为什么当我使用常规指针而不是它时它会干净地终止, 以及在这种情况下QSharedPointer
如何QSharedPointer
正确使用?