HEAP: Free Heap block XXXXXXXX modified at XXXXXXXX after it was freed
在有关于内存分配和释放的代码中,容易发生这种问题。这个问题的描述就是内存已经被释放了,后面还继续使用举个例子:float* distance = new float [dimension];for(int k=0;k<10;k++){ for(int i=0;i<dimension;i++) { distance[i]=0; }delete[]
·
在有关于内存分配和释放的代码中,容易发生这种问题。这个问题的描述就是内存已经被释放了,后面还继续使用
举个例子:
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是就已经被删除了,变成了野指针,所以第二次循环时无法再次删除。
更多推荐
已为社区贡献1条内容
所有评论(0)