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

C++申请空间报错

2013-12-04 
C++申请空间报错求助别人丢给我的代码,老板逼着改,既没注释也没文档,所以我也只能把错误的部分贴上来求大

C++申请空间报错求助
别人丢给我的代码,老板逼着改,既没注释也没文档,所以我也只能把错误的部分贴上来求大神帮忙了,老板催得急,拜托各位路过的大神了。分不多,只能意思意思了,同行救急,拜托了,路过看热闹也行,麻烦各位帮我看一眼,谢谢了
C++申请空间报错
打断点的那句话报错了,就是下面这一句。
unsigned short *SDTmp=new unsigned short[L*M*N];
是一个申请空间的语句,这句话在其所在函数被调用6次的时候出错。其实几次无所谓,但是这种申请空间出错的情况第一次遇到,而且前几次调用时申请空间都成功。求指点
[解决办法]
如果不是别的地方引起的错误,这里应该是没有错误的,内存是否不足引起?
[解决办法]

引用:
Quote: 引用:

如果不是别的地方引起的错误,这里应该是没有错误的,内存是否不足引起?

应该不会,前面测试过这个原作者留的测试数据,512*512*216,没有问题
现在我用512*512*169反而报错了,而且循环没有完成,只循环了6次
我实在想不出来有什么情况会在申请空间的时候出错,希望能帮我想想,给个思路,先谢谢了

每次申请42M的样子应该算是比较多的吧,循环第6次出错,而且上面也是分配同样多的内存!
严重内存是不是不足引起的!把内存分配小点试试!
[解决办法]
volD和SD都没有释放,每次循环它们都要重新吃内存的啊。

引用:
Quote: 引用:

应该是比较大了,SDTemp被释放掉了,不表示其它同等大小的数组也被释放了啊。

这样?那要怎样才能释放干净?

热点排行