我有一个opengl窗口控件,在这里我使用了一个多数组,当我尝试关闭它时,它给出了:
“ Windows已在app.exe中触发刹车点。
这可能是由于堆的损坏...”
我有这样的标题:
class MyClass
{
private:
static const int DATA_SIZE = 8;
double terrain[DATA_SIZE][DATA_SIZE]
...
}
在我的应用中,我给每个“边缘点”一个值,如下所示:
terrain[0][0] = 5;
terrain[0][DATA_SIZE] = 5;
terrain[DATA_SIZE][DATA_SIZE] = 5;
terrain[DATA_SIZE][0] = 5;
如果我注释掉最后一行(terrain [DATA_SIZE] [0] = 5;),则没有警告消息,因此问题出在那一行,但我不知道这应该起作用。我希望有一个人可以帮助我。我使用Visual Studio 2010 Ultimate。
最佳答案
您正在溢出最后一个元素访问索引:use
terrain[0][DATA_SIZE-1] = 5;
terrain[DATA_SIZE-1][DATA_SIZE-1] = 5;
terrain[DATA_SIZE-1][0] = 5;