Aracılığıyla paylaş


Derleyici Hatası C2804

ikili 'işleç işleci' çok fazla parametreye sahip

Açıklamalar

Aşırı yüklenmiş ikili işleç üye işlevi birden fazla parametreyle bildirilir. Türü işlecin kapsayan türü olan ikili işleç üye işlevinin ilk işlenen parametresi örtülüdür.

Örnekler

Aşağıdaki örnek C2804 oluşturur ve nasıl düzeltileceğini gösterir.

// 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)
}

Aşağıdaki örnek C2804 oluşturur ve nasıl düzeltileceğini gösterir.

// 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
};