Udostępnij przez


Błąd kompilatora C2803

Operator "operator" musi mieć co najmniej jeden formalny parametr typu klasy

Uwagi

Przeciążony operator nie ma parametru typu klasy.

Należy przekazać co najmniej jeden parametr przez odwołanie (nie przy użyciu wskaźników, ale odwołań) lub według wartości, aby móc napisać "a < b" (a i b jest klasą typu A).

Jeśli oba parametry są wskaźnikami, będzie to czyste porównanie adresów wskaźników i nie będzie używać konwersji zdefiniowanej przez użytkownika.

Example

Poniższy przykład generuje kod 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);