首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

记一个烦了小弟我一上午到半夜的编程异常!free(): invalid next size (fast): 0xb73004e8 *

2013-01-04 
记一个烦了我一下午到半夜的编程错误!free(): invalid next size (fast): 0xb73004e8 ***调试了半天,定位

记一个烦了我一下午到半夜的编程错误!free(): invalid next size (fast): 0xb73004e8 ***

调试了半天,定位到是delete引起的奔溃,我怀疑了好久是不是申请内存后,指针操作出了问题,导致向没申请的内存区域写入了东西,导致释放出了问题。

可是这个delete有时候出问题,有时候又不会。

后来在校论坛上发帖,得到了提醒。可能是我申请内存和释放内存的语句出了问题,我居然之前没想到过这一点。


是这样的:

我原来的代码为:

delete []msg2;


注意new后面()和[]的区别。

申请内存应该是

 char *p = new char[10] ;//假设是申请10个字节
而char *p = new char(10);//是申请一个字节的内存,并把这个字节的内存赋值10
区别太大了。

而释放的时候应该是
new和delete组合
new[]和delete[]组合


1楼wangqiulin1234563小时前
同是遇到这个问题的人,当时我也搞了很久很久,没找到原因

热点排行