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