释放的时候为什么会出错??
CRectView::~CRectView()
{
for(int i=0;i <RECTAREA_HEIGHT+1;++i)
{
delete [] RectArea[i]; //RectArea已声明过是int **RectArea类型。
RectArea[i]=NULL;
}
delete []RectArea;//如果将其注释后,关闭程序时就不会报错了。
RectArea=NULL;
}
非常不理解,请问哪里出错了???
[解决办法]
delete [] RectArea[i];
改称delete RectArea[i];试试
[解决办法]
RectArea是怎么来的?
[解决办法]
一楼说的是不正确的解决方式.
首先分析 RectArea 的初始化过程,然后在调试中加 watch point 观察是否被意外修改过。
[解决办法]
RectArea已声明过是int **RectArea类型并不等价于二维数组,建议搂主贴上初始化
[解决办法]
关键要看你的
RectArea 是什么定义的
[解决办法]
for(int i=0;i <RECTAREA_HEIGHT+1;++i)
====
为什么是要+1: RECTAREA_HEIGHT+1
通常的用法是不加的,看看这里有没有问题?