我在一个打印名为“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。
答案 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;
那应该为你做:)