我試圖重載C++運算符==但即時得到一些錯誤......C++錯誤C2662無法從「const型」轉變「這個」指針「類型和」
錯誤C2662:「CombatEvent: :的getType:this指針從 '」不能轉換'const的CombatEvent' 到 'CombatEvent &'
該錯誤在這條線
if (lhs.getType() == rhs.getType())
看到波紋管的代碼:
class CombatEvent {
public:
CombatEvent(void);
~CombatEvent(void);
enum CombatEventType {
AttackingType,
...
LowResourcesType
};
CombatEventType getType();
BaseAgent* getAgent();
friend bool operator<(const CombatEvent& lhs, const CombatEvent& rhs) {
if (lhs.getType() == rhs.getType())
return true;
return false;
}
friend bool operator==(const CombatEvent& lhs, const CombatEvent& rhs) {
if (lhs.getType() == rhs.getType())
return true;
return false;
}
private:
UnitType unitType;
}
任何人都可以幫忙嗎?
非常聰明。花了我幾分鐘的時間來完全理解這個想法。非常感謝。 –