分类故障来自类功能

时间:2017-12-04 21:29:05

标签: c++ arrays class segmentation-fault

我在一个打印名为“world”的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();

这就是我调用函数的方式。

This is what is showing in termninal

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

1 个答案:

答案 0 :(得分:2)

正如其他人已经说过的那样,错误就是内部for循环,你可以比较&#39; r&lt; =(2 * WORLD_SIZE + 1)&#39;

这会导致无限循环。

将内部for循环更改为:

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

那应该为你做:)