Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
binaire 'operator operator' heeft te veel parameters
Opmerkingen
De overbelaste binaire operatorlidfunctie wordt gedeclareerd met meer dan één parameter. De eerste operandparameter van een binaire operator-lidfunctie, waarvan het type het omsluittype van de operator is, is impliciet aanwezig.
Voorbeelden
In het volgende voorbeeld wordt C2804 gegenereerd en ziet u hoe u dit kunt oplossen.
// C2804.cpp
// compile by using: cl /c /W4 C2804.cpp
class X {
public:
X& operator+= (const X &left, const X &right); // C2804
X& operator+= (const X &right); // OK - left operand implicitly *this
};
int main() {
X x, y;
x += y; // equivalent to x.operator+=(y)
}
In het volgende voorbeeld wordt C2804 gegenereerd en ziet u hoe u dit kunt oplossen.
// C2804_2.cpp
// compile with: /clr /c
ref struct Y {
Y^ operator +(Y^ hY, int i); // C2804
static Y^ operator +(Y^ hY, int i); // OK
Y^ operator +(int i); // OK
};