Delen via


Compilerwaarschuwing (niveau 1) C4928

illegale copy-initialisatie; meer dan één door de gebruiker gedefinieerde conversie is impliciet toegepast

Opmerkingen

Er is meer dan één door de gebruiker gedefinieerde conversieroutine gevonden. De compiler heeft de code uitgevoerd in dergelijke routines.

Deze waarschuwing is standaard uitgeschakeld. Zie Compilerwaarschuwingen die standaard zijn uitgeschakeld voor meer informatie.

Example

In het volgende voorbeeld wordt C4928 gegenereerd:

// C4928.cpp
// compile with: /W1
#pragma warning(default: 4928)

struct I
{
};

struct I1 : I
{
};

struct I2 : I
{
};

template <class T>
struct Ptr
{
   operator T*()
   {
      return 0;
   }

   Ptr()
   {
   }

   Ptr(I*)
   {
   }
};

int main()
{
   Ptr<I1> p1;
   Ptr<I2> p2 = p1;   // C4928
   // try one of the following two lines to resolve this error
   // Ptr<I2> p2(p1);
   // Ptr<I2> p2 = (I1*) p1;
}