编译器错误 C2803
“operator operator”必须至少有一个类类型的形参
重载的运算符缺少类类型的参数。
需要通过引用(不是使用指针,而是使用引用)或值至少传递一个参数,才能够编写“a < b”(a 和 b 均为类 A 类型)。
如果两个参数都是指针,它将会是指针地址的单纯比较,并且不会使用用户定义的转换。
以下示例生成 C2803:
// C2803.cpp
// compile with: /c
class A{};
bool operator< (const A *left, const A *right); // C2803
// try the following line instead
// bool operator< (const A& left, const A& right);