Freigeben über


Compilerwarnung (Ebene 4) C4913

Benutzerdefinierter binärer Operator "," ist vorhanden, die Überladung konnte aber alle Operanden nicht konvertieren. Es wurde der standardmäßig enthaltene binäre Operator "," verwendet.

Ein Aufruf des integrierten Kommaoperators ist in einem Programm aufgetreten, das ebenfalls einen überladenen Kommaoperator aufweist. Eine erwartete Konvertierung ist nicht erfolgt.

Im folgenden Codebeispiel wird C4913 generiert:

// C4913.cpp
// compile with: /W4
struct A
{
};

struct S
{
};

struct B
{
   // B() { }
   // B(S &s) { s; }
};

B operator , (A a, B b)
{
   a;
   return b;
}

int main()
{
   A a;
   B b;
   S s;

   a, b;   // OK calls user defined operator
   a, s;   // C4913 uses builtin comma operator
           // uncomment the conversion code in B to resolve.
}