好吧,我一直有這個問題一段時間,我相信我已經針對問題的位置,但我不知道如何解決它。C++在另一個類if語句中使用類返回函數
void Unit::AddStatusEffect(StatusEffect effect)
{
// Add status effect and if it effects what actions a unit can do, do it here.
myEffects.push_back(effect);
if(effect.GetEffect == effect.STUN)
{
myCanMove = false;
myCanAttack = false;
myCanCast = false;
}
else if (effect.GetEffect == effect.MUTE)
{
myCanCast = false;
}
else if (effect.GetEffect == effect.BLIND)
{
myCanHit = false;
}
else
{}
}
我的問題似乎與StatusEffect類中的Effect.GetEffect返回函數。如果我問如果(effect.STUN == effect.STUN)我沒有得到任何錯誤,這就是爲什麼我認爲這個功能是問題。我得到的錯誤似乎是:
函數調用缺少參數列表;使用「& StatusEffect :: GetEffect」創建一個指向成員
(這裏是在情況下,類有東西在那裏,可能是問題)
class StatusEffect
{
public:
enum Effect { POISON, BURN, BLEED, FREEZE, MUTE, STUN, BLIND, ATKBOOST, HPREGEN, MANAREGEN, MATKBOOST, DEFENSEBOOST, MAGICDEFENSEBOOST };
private:
Effect myEffect;
public:
////////////////////////////////////////////////////////////////
// Data Retrievers
////////////////////////////////////////////////////////////////
Effect const GetEffect() { return myEffect; }
StatusEffect(void);
~StatusEffect(void);
};
我希望我解釋我的問題以及足夠。我讀過的所有內容似乎都沒有幫助我解決這個問題。
我現在覺得很愚蠢.....謝謝。 – Uulamock
@Uulamock我們大多數人都經歷了足夠的愚蠢錯誤。不要感覺不好。很高興我能幫上忙。 –
是的,我有很多愚蠢的錯誤,但我總是發現他們自己。所以這是我沒有看到的第一個愚蠢的錯誤。 >。< – Uulamock