我很擅长指点并且很难过。我正在做一个捕食者 - 猎物模拟器,并且有一个具有一系列存在物体的城市类,最终可以被施放为人类或僵尸。 City类有一个数组:
public class Square {
@SerializedName("code") private int code;
@SerializedName("size") private int size;
// + getters...
}
我将元素初始化为null,以保持简单。
class City
{
protected:
Being *grid[GRID_HEIGHT][GRID_WIDTH];//holds beings
我还有一个方法应该从数组中返回一个Being。 这是我遇到错误的地方:“标识符'网格'未定义”或者如果我使用“this”关键字,则表示只允许在非静态成员函数中使用。
City::City()
{
for (int i = 0; i < GRID_HEIGHT; ++i) {
for (int j = 0; j < GRID_WIDTH; ++j) {
this->grid[i][j] = NULL;
}
}
}
所以我可以从main方法访问它,只打印一个占位符网格:
Being City::*getBeing(int x, int y)
{
return grid[x][y];
}
我该如何解决这个问题?是否有更好的理解指针的经验法则?
答案 0 :(得分:3)
getBeing
函数的定义应为:
Being *City::getBeing(int x, int y) { ... }