Avviso del compilatore (livello 4) C4913
l'operatore binario definito dall'utente ',' esiste, ma nessuno degli overload può convertire tutti gli operandi. Verrà utilizzato l'operatore binario ',' incorporato predefinito.
Si è verificata una chiamata all'operatore virgola predefinito in un programma che ha anche un operatore virgola di overload; una conversione che si riteneva completata in realtà non è stata eseguita.
L'esempio di codice seguente genera l'errore 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.
}