如何仅使用 Qt-Objects 创建 3D 数组?该数组应该是一个 3D 整数数组。我试图在堆上创建一个标准的 3D 数组。在堆上分配内存工作正常。如果我想释放内存,我得到一个错误。
const int scalefaktor = 16;
int*** anzPixel3d = new int**[256/scalefaktor];
for (int i = 0; i <= 256/scalefaktor ; i++)
{
anzPixel3d[i] = new int*[256/scalefaktor];
for (int k = 0; k <= 256/scalefaktor ; k++)
{
anzPixel3d[i][k] = new int[256/scalefaktor];
}
}
for (int j = 0; j <= 256/scalefaktor ; j++)
{
for (int m = 0; m <= 256/scalefaktor ; m++)
{
delete [] anzPixel3d[j][m];
}
delete [] anzPixel3d[j];
}
delete [] anzPixel3d;
对于这个项目,我使用 Qt4.8 和 Qt-Creator 2.7.0。我使用 MSVC2010 编译器。
错误消息是:HEAP CORRUPTION DETECTED:在 0x006E3C0 的 Normal 块 (#31715) 之后。CRT 检测到应用程序在堆缓冲区结束后写入内存。