좋아, 내가 잠시 동안이 문제가 있었고 내가 어디에 문제가 핀 지적했다 믿고 있지만 그것을 수정하는 방법을 잘 모르겠습니다.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) 아무런 오류가 없기 때문에 나는 그 기능이 문제라고 믿는다. 내가 얻는 오류는 다음과 같다.
함수 호출 누락 인수 목록;
이
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);
};
내가 아니라 내 문제를 설명하겠습니다 (여기에서 문제가 될 수있다 뭔가가있을 경우에 클래스) 멤버에 대한 포인터를 만드는 '& StatusEffect :: GetEffect'를 사용 충분히. 내가 읽은 모든 것은이 문제를 해결하는 데 도움이되지 않았다. Unit::AddStatusEffect
에서
나는 지금 바보가된다. 고맙다. – Uulamock
@Uulamock 우리 대부분은 어리석은 실수를 저질렀습니다. 기분 나빠하지 마. 다행히 도울 수있어. –
그래, 나는 바보 같은 실수를 많이 겪어 왔지만, 나는 항상 그들 자신을 발견했다. 이것은 내가 보지 못한 첫 번째 어리석은 실수입니다. >. < – Uulamock