函数内(new)开辟内存空间报错!
Cist(BYTE *a, int width, int height)
{
int wth,hgt; //扩展图像的宽和高
wth = width + 2;
hgt = height + 2;
long len=wth*hgt;
BYTE *b = new BYTE[len]; //!该行编译通过,执行时有时后报错
for( int i = 0; i < hgt; i++) //拓展的边缘补0
for ( int j =0; j < wth; j++ )
{
if ( j%wth == 0 || (j+1)%wth == 0 ||
i == 0 || i == hgt-1 )
b[i*wth + j] = 0;
else
b[i*wth + j] = a[(i-1)*width+(j-1)];
}
}
在函数内开辟空间报错,len=70000左右. 为什么会显示 0xc00000005 access Violation 错误!
这不是在堆上开辟的空间吗? 我在其他类的函数里面开辟更多的空间都没有问题.