我在写程序时遇到一个问题,在类的数据域中定义了变量len,然后动态分配int* p=new int[len]。之后在类的析构函数中delete[] p,触发断点。但是将动态分配的数组改为int* p=new int [6];即确定数组的太小,此时再delete[] p,没有问题。我想问一下各位大佬,是因为在类的析构函数中len最终也会销毁的原因吗,所以它delete越界了?
4条回答 默认 最新
- 猫叔大鸭梨 2021-05-07 11:07关注
你说的触发断点,是报错或者宕机的意思吧?
估计是len没有初始化
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 求大家看看Nonce如何配置
- ¥15 Matlab怎么求解含参的二重积分?
- ¥15 苹果手机突然连不上wifi了?
- ¥15 cgictest.cgi文件无法访问
- ¥20 删除和修改功能无法调用
- ¥15 kafka topic 所有分副本数修改
- ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
- ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
- ¥40 串口调试助手打开串口后,keil5的代码就停止了
- ¥15 电脑最近经常蓝屏,求大家看看哪的问题