正在返回指针数组成员变量的元素
Returning element of pointer array member variable
我是指针新手,很难适应。我正在做一个捕食者-猎物模拟器,有一个City类,它有一系列Being对象,最终会被塑造成人类或僵尸。城市类有一个数组:
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;
}
}
}
我还有一个方法,应该从数组中返回一个Being这就是我遇到错误的地方:"标识符'grid'未定义",或者如果我使用"THIS"关键字,它会说这只允许在非静态成员函数中使用。
Being City::*getBeing(int x, int y)
{
return grid[x][y];
}
所以我可以从主方法访问它,只需打印一个占位符网格:
City myCity;
int main(){
if (myCity.getBeing(i,j) == null)
{
cout << "O";
}
}
我该怎么解决这个问题?有没有更好地理解指针的经验法则?
getBeing
函数的定义应为:
Being *City::getBeing(int x, int y) { ... }
相关文章:
- 如何为 c++ 的不同变量类型的结构元素创建动态数组?
- 如果变量数据包含大于 vector 所有元素的整数,则仅在视觉工作室上接收"矢量下标超出范围"?
- C++将字符串数组的元素存储到变量中
- C++结构元素(成员变量)的数量
- 循环中的变量被设置为下一个数组的元素始终具有相同的内存地址?
- 打印/修改类对象的特定成员变量,其类定义列表 (STL) 包含的元素类型
- 如何将矢量大小扩展一个元素并用变量填充它
- 连续单个元素的敏感变量
- C++:如何将 char 变量分配给向量<char>并访问该向量的元素进行比较?
- 动态数组添加元素而不创建结构变量/对象
- 如何添加和读取两种变量的向量元素
- 无法在重载运算符时将数组元素分配给类变量"="
- c++从列表中移除元素,并将其分配给对象变量
- 正在使用C 中的插入后变量不确定行为访问数组的元素
- 类型转换问题:字符数组的元素转换为整数变量
- 将矢量元素分配给字符变量
- 在变量之间移动队列而不复制元素
- 在应用变量函数的矩阵元素上循环
- 如何制作一个集合,其中元素使用局部变量进行排序
- C++:使用递归和引用变量查找数组中的最大元素