Aracılığıyla paylaş


Derleyici Uyarısı (düzey 1) C4928

hatalı kopya başlatma; birden çok kullanıcı tanımlı dönüştürme örtük olarak uygulandı

Birden fazla kullanıcı tanımlı dönüştürme yordamı bulundu. Derleyici, kodu bu tür tüm yordamlarda yürütür.

Bu uyarı varsayılan olarak kapalıdır. Daha fazla bilgi için bkz . Varsayılan Olarak Kapalı Olan Derleyici Uyarıları.

Aşağıdaki örnek C4928 oluşturur:

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