网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月20日漏签0天
c++吧 关注:650,204贴子:2,117,736
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 首页 上一页 1 2 3 4 5 下一页 尾页
  • 61回复贴,共5页
  • ,跳到 页  
<<返回c++吧
>0< 加载中...

回复:程序运行到return 0之前还正常,然后就弹错误了,是怎么回事

  • 收藏

  • 回复
  • lostarthas
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我没定义静态对象或成员的。。
现在怀疑是不是程序运行到最后,先释放了局部指针,然后才delete的那些指针。。
如果是这样,指针是不是换成静态的?


  • 萧の十三郎
  • *
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
呵呵,哦,return 0的时候没事,
那也可能是main函数中的局部对象的析构.
检查main函数中的局部对象(函数中直接定义的)


2026-01-20 12:10:56
广告
不感兴趣
开通SVIP免广告
  • lostarthas
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
整体的数据结构挺简单的:
一个子类继承了一个基类,基类中有两个成员类,子类比基类又多加了一个成员类
主函数就用子类定义了一个对象,调用了一次输出函数
感觉貌似没有局部变量的说。。。


  • 顶之座__赫卡特
  • +
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
上代码。


  • lostarthas
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
四五百行,不好吧
看也要看很久


  • 萧の十三郎
  • *
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
呵呵.自己好好分析分析吧.因为特征比较明显,可能的原因也就那么几种.


  • 我变成鱼了
  • <<
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
return出错一般就是数组越界把CS/IP值爆掉了
没valgrind用的windows伤不起。。。


  • 萧の十三郎
  • *
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
EIP直接爆的可能性不太大,更可能是栈爆了,导致ret读取EIP悲剧了


2026-01-20 12:04:56
广告
不感兴趣
开通SVIP免广告
  • lostarthas
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
貌似发现了。。
虽然不是有意的定义局部对象,但是在重载输出操作符的过程中会有一个局部对象生成
那个局部对象析构之后,原来的那个全局对象的析构卡住了


  • Son_of_Ligang
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
"重载输出操作符的过程中会有一个局部对象生成"


  • Son_of_Ligang
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
传参可以按引用,返回也可以按引用,哪来的局部对象。。


  • lostarthas
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
输出函数读入的不是引用,不会产生一个"形参"么?


  • lostarthas
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我一开始不是用的引用
改成引用之后没问题了,不过是因为析构函数只调用了一次
不用引用的话应该是先后调用了两个对象的析构函数,但是析构一个对象之后另一个对象的析构出问题了,这个bug只是绕过了,但还是没解决。。。


  • 萧の十三郎
  • *
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
原来你有全局对象啊.
全局对象就是静态的说...
慢慢分析,自己解决了,收获会很大的.


2026-01-20 11:58:56
广告
不感兴趣
开通SVIP免广告
  • lostarthas
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
表述有问题,那个我所谓的“全局”只是定义在main里面的。。。
很诡异的是,重载输出操作符的时候全改成引用,居然就没问题了。。。
如果不使用引用,那重载的输出函数里的“形参”对象的析构为什么会使原对象无法析构了呢。。。(有点拗口=。=)


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 首页 上一页 1 2 3 4 5 下一页 尾页
  • 61回复贴,共5页
  • ,跳到 页  
<<返回c++吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示