Partilhar via


Aviso do compilador (nível 4) C4913

operador binário definido pelo usuário ',' existe mas nenhuma sobrecarga pôde converter todos os operando, operador binário interno padrão ',' usado

Uma chamada para o operador de vírgula interno ocorreu em um programa que também tinha um operador de vírgula sobrecarregado; uma conversão que você pensou que poderia ter ocorrido não.

O exemplo de código a seguir gera C4913:

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