Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A felülíró destruktor nem használhat explicit "felülbírálást" vagy "virtuális" meghatározót.
Ez a figyelmeztetés el lett távolítva a Visual Studio 16.8-ban, hogy tükrözze a C.128 változásait a C++ alapvető irányelvekben.
C++ alapvető irányelvek
A Core iránymutatásokra vonatkozó jelenlegi konszenzus az, hogy a destruktorok kimaradnak a "felülbírálás explicit módon" ajánlásból.
Jegyzetek
- Az a szabály megjelöli azokat a destruktorokat, amelyek kifejezetten "virtuális" vagy "felülbírál" azonosítókat használnak.
- A destruktorok a 'final' specifikátort továbbra is használhatják különleges szemantikája miatt.
- A figyelmeztetések függvénydefiníciókon jelennek meg, nem deklarációkon. Ez zavaró lehet, mivel a definíciók nem rendelkeznek virtuális definiálókkal, de a figyelmeztetés továbbra is megfelelő.
Kódelemzés neve: NO_EXPLICIT_DTOR_OVERRIDE.
Példa: Explicit „override”
class Transaction {
public:
virtual ~Transaction();
// ...
};
class DistributedTransaction : public Transaction {
public:
~DistributedTransaction() override { // C26443
// ...
}
};