2*5000*4000*150 /1024/1024/1024 = 5.58G这么大的连续内存空间申请不到的,自然就报错了。帆稿局
第一张图是因为断点出现在dll内部,所以无法查看第一张图已备运经表明了是bad_alloc异常,请检查是否使用了连续数组存储数据,以及是否使用了vector或者自定义了预扩容仿闷梁方法,因为这时new可能会分配内存失罩运败抛出bad_alloc异常(电脑内存不一定是99%,只是正好没有这么长的连续内存空间了),可以尝试分割为多个数组,使用多个指针,存储在内存中多个位置
判差蔽断栈是否满,判断条件应该是top_p==maxSize-1,修改如尘并下:template<class T>派庆迹
bool seqStack<T>::isFull()const
{
if(top_p==maxSize-1) return true// WangYou: 等于的时候表示满了
else return false
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)