因此,我正在C++中製作一個小遊戲,並且遇到了問題。我在我的player.h文件中有一個名爲player的類,在這個類中我有一個名爲getPotion()
的公共函數。我也有一個私有的靜態變量potion
。對於球員的健康狀況我有完全相同的東西,並且getHealth()
函數完美地返回私有靜態int playerHealth
。但顯然沒有理由,getPotion
函數不返回魔藥。相反,我得到一個錯誤。我還將頭文件包含在所有其他文件中。調用函數從類不工作返回私有變量
下面的代碼:
(對不起,我不知道如何插入代碼,所以我必須寫出來)
player.h(即我有代碼麻煩):
class Player{
private:
static int potions;
public:
int getPotions();
}
player.cpp(同樣的代碼,我有麻煩了):
int Player::potions;
int Player::getPotions(){
Player player;
return player.potions;
}
我可能已經遺漏了一些代碼,比如返回等,但那是因爲我有很少的時間來問這個問題,所以我把與我的問題相關的部分。
爲什麼你創造'getPotions'函數中有一個新的'Player'?無論思維過程如何,你認爲這是明智的做法需要重新審視。 –
另外,你幾乎可以肯定**不要**'魔藥'被宣佈爲'靜態'。 –
@Robᵩ:沒錯。如果有兩個'玩家',每個人都需要自己的魔藥數量。所以它不應該是靜態的。 –