【发布时间】:2012-02-16 11:07:24
【问题描述】:
我有一个窗口 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。
【问题讨论】:
-
如果你想要每个边缘点(而不是每个角点),你需要填充数组的更多元素(所有 [0][0..DATA_SIZE-1],所有 [DATA_SIZE-1][ 0..DATA_SIZE-1]等)
-
其他的我稍后补上,我只是没有把那部分包括进去,因为它太长了,但是谢谢。
标签: c++ visual-c++ multidimensional-array