0
我正在寫一個QT應用程序,我很生疏的C++,所以我猜這就是問題所在。我在我的Mac上發現了一個exc_bad_access
信號,這意味着我在記憶中做錯了。這裏是我的代碼:exc_bad_access在QT應用程序崩潰
void MainWindowController::showMainWindow() {
MainWindow *w = mainWindow();
w ->show();
}
MainWindow *MainWindowController::mainWindow() {
if (NULL != _mainWindow)
return _mainWindow;
// otherwise, we need to load it and return it
_mainWindow = new MainWindow(0);
return _mainWindow;
}
_mainWindow
是一個實例變量,一個指針(你可能已經從函數簽名猜測)。這是一個簡單的懶加載。我認爲我正在做內存管理好吧,因爲這個類擁有對象(後來在析構函數中刪除)。
崩潰發生在w -> show();
行上,QT抱怨它在QWidget show()函數內的某處,這對我來說並沒有什麼意義。
有人可以幫我嗎?謝謝!