Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengganti destruktor tidak boleh menggunakan penentu 'ambil alih' atau 'virtual' eksplisit.
Peringatan ini dihapus di Visual Studio 16.8 untuk mencerminkan perubahan pada C.128 dalam Panduan Inti C++.
Panduan Inti C++
C.128: Fungsi virtual harus menentukan tepat salah satu virtual, penimpaan, atau final.
Konensi saat ini pada Pedoman Inti adalah mengecualikan destruktor dari rekomendasi 'ambil alih secara eksplisit'.
Catatan
- Bendera aturan menimpa destruktor yang secara eksplisit menggunakan penentu 'virtual' atau 'ambil alih'.
- Destruktor masih dapat menggunakan penentu 'final' karena semantik khususnya.
- Peringatan muncul pada definisi fungsi, bukan deklarasi. Mungkin membingungkan, karena definisi tidak memiliki penentu virtual, tetapi peringatannya masih sesuai.
Nama analisis kode: NO_EXPLICIT_DTOR_OVERRIDE
Contoh: Eksplisit 'ambil alih'
class Transaction {
public:
virtual ~Transaction();
// ...
};
class DistributedTransaction : public Transaction {
public:
~DistributedTransaction() override { // C26443
// ...
}
};
Lihat juga
C.128: Fungsi virtual harus menentukan tepat salah satu virtual, penimpaan, atau final