c++ 在Xmemory中,引发了异常: 读取访问权限冲突。 _Pnext 是 0x708

在开发过程中遇到一个异常,发生在Xmemory中,表现为读取访问权限冲突。问题难以定位,通过调试手段未能直接找到原因。最终发现是由于一个函数在给变量赋值时,内部switch语句缺少default分支的return语句。这种情况下,编译期间不会报错,但在变量析构时引发了错误。修复方法是确保所有case分支或default分支都有返回,以避免析构时的内存访问冲突。
摘要由CSDN通过智能技术生成

开发时遇到了这个问题,在Xmemory中,引发了异常: 读取访问权限冲突

通过打断点、prinf输出运行位置都无法定位该错误在何处发生,错误截图如下
在这里插入图片描述

最后推断是在析构时发生的异常,特此记录。

解决方法

如果用一个函数给一个变量赋值时,函数中存在switch语句却没有给default分支添加return。此时在编译时并不会报错,但是当这个变量析构时,会引发内存访问冲突的错误。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值