Sto cercando di sovraccaricare il operator==
, ma il compilatore sta gettando il seguente errore:overloading degli operatori == lamentando 'deve prendere esattamente un argomento'
‘bool Rationalnumber::operator==(Rationalnumber, Rationalnumber)’ must take exactly one argument
mio breve pezzo di codice è il seguente:
bool Rationalnumber::operator==(Rationalnumber l, Rationalnumber r) {
return l.numerator() * r.denominator() == l.denominator() * r.numerator();
}
Dichiarazione:
bool operator==(Rationalnumber l, Rationalnumber r);
qualcuno ha qualche idea perché è gettando t lui errore?
Questo potrebbe aiutare:.. http://stackoverflow.com/questions/4421706/operator-overloading Dal momento che il vostro è un membro, però, ha già il lato sinistro che entra implicitamente attraverso l'argomento 'this' nascosto. – chris
È necessario definire la funzione membro con un ar gument o la funzione scope del file con due argomenti. – harper
E 'una funzione di membro o di una funzione di free standing? –