Bagikan melalui


Compiler Warning (level 1) C4526

'function' : fungsi anggota statis tidak dapat mengambil alih fungsi virtual 'fungsi virtual'pengabaian diabaikan, fungsi virtual akan disembunyikan

Fungsi anggota statis memenuhi kriteria untuk mengambil alih fungsi virtual, yang membuat fungsi anggota baik virtual maupun statis.

Kode berikut menghasilkan C4526:

// C4526.cpp
// compile with: /W1 /c
// C4526 expected
struct myStruct1 {
   virtual void __stdcall func( int ) = 0;
};

struct myStruct2: public myStruct1 {
   static void __stdcall func( int );
};

Berikut ini adalah kemungkinan perbaikan:

  • Jika fungsi dimaksudkan untuk mengambil alih fungsi virtual kelas dasar, hapus penentu statis.

  • Jika fungsi dimaksudkan untuk menjadi fungsi anggota statis, ganti namanya sehingga tidak bertentangan dengan fungsi virtual kelas dasar.