Estoy tratando de sobrecargar el operator==
, pero el compilador está lanzando el siguiente error:operador de sobrecarga == quejándose de 'debe tener exactamente un argumento'
‘bool Rationalnumber::operator==(Rationalnumber, Rationalnumber)’ must take exactly one argument
Mi pequeño fragmento de código es el siguiente:
bool Rationalnumber::operator==(Rationalnumber l, Rationalnumber r) {
return l.numerator() * r.denominator() == l.denominator() * r.numerator();
}
Declaración:
bool operator==(Rationalnumber l, Rationalnumber r);
¿alguien tiene alguna idea de por qué se lanzan t el error?
Esto podría ayudar: http://stackoverflow.com/questions/4421706/operator-overloading. Sin embargo, como el suyo es un miembro, ya tiene el lado izquierdo entrando implícitamente a través del argumento oculto 'this'. – chris
Debe definir la función del miembro con un ar gument o la función de alcance de archivo con dos argumentos. – harper
¿Es una función miembro o una función independiente? –