<分区>
我知道为什么会出现此错误,因为我确实实现了Fraction
的operator ==
。即使我将 f==0
更改为 f==Fraction(1)
,它也无法编译。
#include <iostream>
using std::cout;
class Fraction
{
public:
Fraction(int a, int b = 1) {}
bool operator == (const Fraction&) { return true; }
};
template <typename T>
class Bar
{
public:
bool test(const T& f) { return (f==0);} // ERROR
};
int main()
{
Bar<Fraction> f;
f.test(3);
}