0
我是新来的指针,很难过。我正在做一个捕食者 - 猎物模拟器,并且拥有一个拥有一组存储对象的城市类,这些存储对象最终被转换为人类或僵尸。城市类有一个阵列:返回指针数组成员变量的元素
class City
{
protected:
Being *grid[GRID_HEIGHT][GRID_WIDTH];//holds beings
我将元素初始化为null以便保持简单。
City::City()
{
for (int i = 0; i < GRID_HEIGHT; ++i) {
for (int j = 0; j < GRID_WIDTH; ++j) {
this->grid[i][j] = NULL;
}
}
}
我也有一个方法,应该从数组中返回一个存在。 这是我得到的错误:“标识符”网格'未定义“,或者如果我使用”this“关键字它说只允许在非静态成员函数。
Being City::*getBeing(int x, int y)
{
return grid[x][y];
}
,所以我可以从主方法来访问它,只是打印一个占位符格:
City myCity;
int main(){
if (myCity.getBeing(i,j) == null)
{
cout << "O";
}
}
我怎样才能解决这个问题?有更好的理解指针的经验法则吗?
它是那么容易。另外为了将来的参考,我还将NULL初始化器更改为0,因为我在主要类“标识符null未定义”中出现错误。谢谢! –
它应该是'NULL',而不是'null'。如果你正在使用C++ 11,我强烈建议你使用'nullptr'代替! – simpel01
也可以。 –