先说主题,感觉没用的可以先划走,那就是在对象析构时内存释放失败的话要考虑一种隐蔽的情况。当在堆上申请空间时,你越界赋值很可能当时没有问题,但在内存释放时会失败!!
这里转载一下这位码龄14年的大佬经验:
delete出错原因_数据太多 delete 失败-CSDN博客
一般释放失败的情况我们都可以想到,例如:重复释放、地址改变、作用域。
下面我来描述一下我的问题状况:
今天,在调用接口时发现程序一切正常,跑出if任何代码不会执行,返回值完全正常。
回到VS发现在代码运行完时,会在析构函数里显示“执行断点指令”。
回顾了一下关于lut指针的赋值位置,发现果然有越界赋值,修复解决!