Поделиться через


Предупреждение компилятора (уровень 4) C4913

определяемый пользователем двоичный оператор "," существует, но перегрузка не может преобразовать все операнды, встроенный двоичный оператор по умолчанию "," используется

Замечания

Вызов встроенного оператора "запятая" произошел в программе, которая также имела перегруженный оператор "запятая"; преобразование, на которое вы, возможно, рассчитывали, не произошло.

Example

В следующем примере кода создается 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.
}