關於Qt退出碼255的一點總結
Qt程序退出碼255
先說症狀,程序運行正常,但是在關閉程序時,卻出現的異常,提示退出碼為255。查看了一翻代碼,也沒有找到有什麼問題,百度上也沒找到有效的解決方法。後來偶然發現了問題所在,原因是在析構函數中,先刪除了父類指針,再刪除子類指針引起的。這算是一個低級問題了。調整刪除指針的順序後,程序歡快的結束了。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QPushButton>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
QPushButton * btn1;
QPushButton * btn2;
};
#endif // MAINWINDOW_H
//----
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
btn1 = new QPushButton(this);
btn2 = new QPushButton(btn1);
}
MainWindow::~MainWindow()
{
delete btn1; // 先刪除父類
delete btn2; // 再刪除子類,退出碼為255
}
隻需要調整一下delete的順序,
delete btn2;
delete btn1;
OK,程序正常結束,退出碼為0
最後更新:2017-11-16 12:04:15