Bagikan melalui


Compiler Warning (level 4) C4626

'turunan kelas' : operator penugasan secara implisit didefinisikan sebagai dihapus karena operator penetapan kelas dasar tidak dapat diakses atau dihapus

Operator penugasan dihapus atau tidak dapat diakses di kelas dasar dan oleh karena itu tidak dihasilkan untuk kelas turunan. Setiap upaya untuk menetapkan objek jenis ini akan menyebabkan kesalahan kompilator.

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

Sampel berikut menghasilkan C4626 dan menunjukkan cara memperbaikinya:

// C4626
// compile with: /W4
#pragma warning(default : 4626)
class B
{
// public:
   B& operator = (const B&)
   {
      return *this;
   }
};

class D : public B
{

}; // C4626 - to fix, make B's copy constructor public

int main()
{
   D m;
   D n;
   // m = n;   // this line will cause an error
}