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
也可以。 –