Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O operador "operator operator" deve ter, pelo menos, um parâmetro formal do tipo classe
Observações
O operador sobrecarregado não tem um parâmetro do tipo de classe.
Você precisa passar pelo menos um parâmetro por referência (não usando ponteiros, mas referências) ou por valor para poder escrever "a < b" (a e b sendo do tipo classe A).
Se ambos os parâmetros forem ponteiros, será uma comparação pura de endereços de ponteiro e não usará a conversão definida pelo usuário.
Example
O exemplo a seguir gera 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);