Compiler Warning C4484
'override_function' : cocok dengan metode kelas ref dasar 'base_class_function', tetapi tidak ditandai 'virtual', 'baru' atau 'ambil alih'; 'new' (dan bukan 'virtual') diasumsikan
Saat mengkompilasi dengan /clr, pengkompilasi tidak akan secara implisit mengambil alih fungsi kelas dasar, yang berarti fungsi akan mendapatkan slot baru di vtable. Untuk mengatasinya, tentukan secara eksplisit apakah fungsi adalah penimpaan.
Untuk informasi selengkapnya, lihat:
C4484 selalu dikeluarkan sebagai kesalahan. Gunakan pragma peringatan untuk menekan C4484.
Contoh
Sampel berikut menghasilkan C4484.
// C4484.cpp
// compile with: /clr
ref struct A {
virtual void Test() {}
};
ref struct B : A {
void Test() {} // C4484
};
// OK
ref struct C {
virtual void Test() {}
virtual void Test2() {}
};
ref struct D : C {
virtual void Test() new {}
virtual void Test2() override {}
};
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk