返回指针数组成员变量的元素

时间:2015-12-02 20:22:55

标签: c++ arrays pointers

我很擅长指点并且很难过。我正在做一个捕食者 - 猎物模拟器,并且有一个具有一系列存在物体的城市类,最终可以被施放为人类或僵尸。 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];
}

我该如何解决这个问题?是否有更好的理解指针的经验法则?

1 个答案:

答案 0 :(得分:3)

getBeing函数的定义应为:

Being *City::getBeing(int x, int y) { ... }