我在一个类中有一个函数“ printWorld”,可打印一个名为“ world”的2D数组。每当我使用此功能并在终端中运行程序时,它似乎都会打印该数组,但随后会出现大量的随机数,最后显示“ Segmentation Fault”,并关闭程序。一旦一切正常,我从代码中删除了此功能。
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。
最佳答案
正如其他人已经指出的那样,错误是内部for循环,您在其中比较了“ r
这将导致无限循环。
将内部for循环更改为:
for(int c = 0; c <= (2*WORLD_SIZE + 1); c++)
cout << world[r][c];
cout << endl;
那应该为你做:)
关于c++ - 类功能的段错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47642270/