类功能的分割故障

Segmentation Fault from class function

本文关键字:故障 分割 功能      更新时间:2023-10-16

我在打印一个名为"世界"的2D数组的类中具有函数" printworld"。每当我使用此功能并在终端运行程序时,似乎会打印数组,但随后数量大量随机数,最后显示"分割故障"并关闭我的程序。一旦我将此功能从代码中取出,尽管一切正常。

void printWorld()
{
    for(int r = 0; r <= (2*WORLD_SIZE + 1); r++)
    {
        for(int c = 0; r <= (2*WORLD_SIZE + 1); c++)
            cout << world[r][c];
        cout << endl;
    }
}

这就是函数在类中写入的方式

game.printWorld();

这就是我称之为函数的方式。

这是termninal中显示的内容

如果有帮助,我将此数组初始化为0。

正如其他人所说的那样,错误是循环的内部循环,您可以在其中比较'r&lt; =(2*world_size 1)'

这会导致无限循环。

更改内部循环为:

    for(int c = 0; c <= (2*WORLD_SIZE + 1); c++)
        cout << world[r][c];
    cout << endl;

应该为您做的:)