为我的英语道歉。我正在尝试解决c ++中的一个非常简单的问题。但是我是C ++的新手,所以无法解决这个问题:(我正在尝试对头文件使用运算符重载。对于新的我正在尝试实现此问题。但是我在getStatusPoint方法中遇到错误。
int getStatusPoint(Alien const& alien)
{
return alien.getHeight()*alien.getWeight()*aliean.getGender();
}
bool Alien::operator>(const Alien& alien) const {
return(getStatusPoint(*this) > getStatusPoint(alien));
}
如果我不使用getStatusPoint方法,那么它可以正常工作。任何人都可以使用getStatusPoint()帮助我解决此问题。
您的错误消息表明getHeight和getWeight都未标记为const。你应该定义
class Alien ... {
public:
int getHeight() const { ... }
...
};
您的实现既不应写入对类的字段的访问权限,也不应调用类的非const方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句