c++,一个分号照成的严重bug

                  公司最近一次迭代测试中,打包出来的程序在验证问题单的时候发现没有提交消息到短信中心。

查看模块日志发现在共享内存处理上面有问题,导致N多业务不能完成。经过跟踪到了一个cpp文件的某行。但是发现调用一个检查邮箱的函数就return false了

很是奇怪。经过挂gdb调试也发现函数返回的是正确的值。而为什么一出来就是错误的。当时就在想是不是栈指针错误了,乱了。难道是偏移差一点的原因。

在思考的同时去再次看代码,竟然发现了这样的东东。

                if(RC_SUCCESS == try_mail(tc_in_control.m_cl_forward, tc_in_msg));
                {
                        return false;
                }
发现问题,在最后一个括号后面竟然有个; 相当于是空语句。

这样不管函数返回值是什么,都会执行return false.

我那个悲催啊。竟然就发生了。

不过还好,被找到了。。。。

×× 复制代码的时候千万要小心。。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值