c++ error C2662 cannot convert 'this' pointer from 'const Type' to 'Type &'

前端 未结 3 476
刺人心
刺人心 2020-12-13 14:26

I am trying to overload the c++ operator== but im getting some errors...

error C2662: \'CombatEvent::getType\' : cannot convert \'this\' pointer from \'const Combat

3条回答
  •  北荒
    北荒 (楼主)
    2020-12-13 15:20

    It's a const issue, your getType method is not defined as const but your overloaded operator arguments are. Because the getType method is not guaranteeing that it will not change the class data the compiler is throwing an error as you can't change a const parameter;

    The simplest change is to change the getType method to

    CombatEventType getType() const;
    

    Unless of course the method is actually changing the object.

提交回复
热议问题