Bagikan melalui


Peringatan Kompilator (tingkat 1) C4928

inisialisasi salinan ilegal; lebih dari satu konversi yang ditentukan pengguna telah diterapkan secara implisit

Ditemukan lebih dari satu rutinitas konversi yang ditentukan pengguna. Pengkompilasi menjalankan kode dalam semua rutinitas tersebut.

Peringatan ini nonaktif secara default. Lihat Peringatan Pengkompilasi yang Nonaktif secara Default untuk informasi selengkapnya.

Sampel berikut menghasilkan C4928:

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