Errore del compilatore C2803
'operator operator' deve avere almeno un parametro formale di tipo classe
L'operatore di overload non dispone di un parametro di tipo classe.
È necessario passare almeno un parametro per riferimento (non usando puntatori, ma riferimenti) o per valore per poter scrivere "a < b" (a e b essere di tipo A).
Se entrambi i parametri sono puntatori, sarà un confronto puro degli indirizzi del puntatore e non userà la conversione definita dall'utente.
L'esempio seguente genera l'errore 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);