visualStudio:Unhandled exception at 0x00007FF6BA8C200F

在编写一个demo程序时,发现了一个栈溢出问题,根源在于一个错误的操作符重载函数`operator>`。这个函数由于逻辑错误,引发了无限递归调用,从而导致了栈溢出。经过调试,问题定位为代码编写错误,现在需要修正这个重载函数以防止无限递归的发生。
摘要由CSDN通过智能技术生成

在一个demo程序时,发生了栈溢出:
在这里插入图片描述
经调试后,发生栈溢出的代码如下:

friend bool operator>(ipv4 const& a1, ipv4 const& a2) noexcept
    {
        return a2 > a1;
    }

一开始觉得这几行代码不会出现什么问题,偶然间发现在调用栈中出现一大堆关于operator>函数的调用栈,如下图所示:
在这里插入图片描述
这时我才警觉到,这不是发生了无限递归调用吗?所以最终定位问题为:代码编写错误导致无限递归调用,进而导致栈溢出。造成无限递归的原因是操作符重载写错了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值