我该如何解决?
我收到错误: 'this' argument has type const but function is not marked const c++ overload operator
template <class T>
class Rational {
private:
T n = 0;
T d = 1;
public:
Rational() = default;
T numerator() {
return n;
}
T denominator() {
return d;
}
};
template <class T>
inline bool const operator ==(const Rational <T> & lhs, const Rational <T>& rhs) {
return lhs.numerator() * rhs.denominator() == lhs.denominator() * rhs.numerator();
}
Run Code Online (Sandbox Code Playgroud)
我的猜测是,numerator()和denominator()成员函数不是const成员函数。制作它们const。之后,上述功能应该可以工作。
顺便说一句,返回类型不需要是bool const. 保持简单并将其更改为bool.