关于Qt退出码255的一点总结

简介: Qt程序退出码255 先说症状,程序运行正常,但是在关闭程序时,却出现的异常,提示退出码为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
}
AI 代码解读

只需要调整一下delete的顺序,
delete btn2;
delete btn1;

OK,程序正常结束,退出码为0

目录
打赏
0
0
0
0
2
分享
相关文章
【软考学习16】用位示图法,轻松解决空闲存储空间的管理难题
【软考学习16】用位示图法,轻松解决空闲存储空间的管理难题
676 0
Java一分钟之-Hazelcast:内存数据网格
【6月更文挑战第17天】**Hazelcast是开源的内存数据网格(IMDG),加速分布式环境中的数据访问,提供内存存储、分布式计算、线性扩展及高可用性。常见挑战包括内存管理、网络分区和数据分布不均。通过配置内存限制、优化网络和分区策略可避免问题。示例展示如何创建Hazelcast实例并使用分布式Map。使用Hazelcast提升性能和扩展性,关键在于理解和调优。**
378 1
2025年阿里云服务器配置选择全攻略:CPU、内存、带宽与系统盘详解
在2025年,阿里云服务器以高性能、灵活扩展和稳定服务助力数字化转型,提供轻量应用服务器、通用型g8i实例等多样化配置,满足个人博客至企业级业务需求。针对不同场景(如计算密集型、内存密集型),推荐相应实例类型与带宽规划,强调成本优化策略,包括包年包月节省成本、ESSD云盘选择及地域部署建议。文中还提及安全设置、监控备份的重要性,并指出未来可关注第九代实例g9i支持的新技术。整体而言,阿里云致力于帮助用户实现性能与成本的最优平衡。 以上简介共计238个字符。
大疆Livox Mid360 使用指南
本文是大疆Livox Mid-360激光雷达的使用指南,包括Livox Viewer 2的安装与使用、Livox SDK2的安装与演示、Livox ROS的配置与启动,以及一些使用时的注意事项。文章还提供了关于Livox Mid-360的详细特点、接线信息、尺寸信息、主控端IP设置、修改Livox Mid 360的IP方法、坐标系定义和IMU内参的介绍。此外,还提供了官方资料和软件下载的链接。
3816 2
|
11月前
|
C++
使用 QML 类型系统注册 C++ 类型
使用 QML 类型系统注册 C++ 类型
311 0
Qt, OpenCV与OpenGL协同作战:图像处理与三维图形界面的完美结合
Qt, OpenCV与OpenGL协同作战:图像处理与三维图形界面的完美结合
1642 5
正在等待缓存锁:无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 12836(unattended-upgr)持有
正在等待缓存锁:无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 12836(unattended-upgr)持有
7690 0
正在等待缓存锁:无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 12836(unattended-upgr)持有
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等