在有关于内存分配和释放的代码中,容易发生这种问题。这个问题的描述就是内存已经被释放了,后面还继续使用
举个例子:
float* distance = new float [dimension];
for(int k=0;k<10;k++)
{
for(int i=0;i<dimension;i++)
{
distance[i]=0;
}
delete[] distance;
}
这段代码会在k=1时执行delete[] distance;出错,因为distance分配的内存在k=0是就已经被删除了,变成了野指针,所以第二次循环时无法再次删除。
版权声明:本文为mons_xujingtao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。