我在打印一个名为"世界"的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;
应该为您做的:)