次の方法で共有


コンパイラ エラー C2803

'operator operator' の宣言で、クラス型のパラメーターが 1 つも指定されていません

オーバーロードされた演算子には、クラス型のパラメーターがありません。

"a < b" (a と b は型クラス A) を記述できるようにするには、少なくとも 1 つのパラメーターの参照 (ポインターではなく参照を使用) または値で渡す必要があります。

両方のパラメーターがポインターの場合、ポインター アドレスの純粋な比較であり、ユーザー定義の変換は使用されません。

次の例では 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);