visual C++多数组-Windows触发了一个断点

visual C++ multi array - Windows has triggered a breakpoint

本文关键字:断点 一个 C++ 数组 -Windows visual      更新时间:2023-10-16

我有一个窗口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;

如果我注释掉最后一行(地形[DATA_SIZE][0]=5;),则没有警告消息,所以问题出在该行,但我不知道是什么,它应该可以工作。我希望有人能帮助我。我使用Visual Studio 2010 Ultimate。

您溢出了最后一个元素访问索引:使用

terrain[0][DATA_SIZE-1] = 5;
terrain[DATA_SIZE-1][DATA_SIZE-1] = 5;
terrain[DATA_SIZE-1][0] = 5;