C++ windows已在xxx.exe中触发一个断点,其原因可能是堆被损坏,这说明xx.exe中或它所加载的任何DLL中有bug。

windows已在xxx.exe中触发一个断点,其原因可能是堆被损坏,这说明xx.exe中或它所加载的任何DLL中有bug。 
原因也可能是用户在xx.exe具有焦点时按下了F12。 
输出窗口可能提供了更多诊断信息 。 

我出现类似错误的情况是:

建立一个链表,在向链表插入完数据析构并释放掉链表的时候出现的错误。

为什么不知道,但是是这样解决的:

把插入链表的对象修改成 Type * p = new Type()的形式,然后直接传递指针,不要Type p,然后传递&p,这样就会报错。

可能Type p这种申请一个变量还是临时的变量,在插入其引用的时候数据可以很好的传递,但是释放链表的时候,应该只有一个p,因为这是个静态临时变量,内容一直在变化,但内存只有一个。而new每次都是新开辟一个空间。

这样在最后释放链表的时候,不至于只释放一个p的空间。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值