Avviso C26443
L'override del distruttore non deve usare identificatori espliciti 'override' o 'virtual'.
Questo avviso è stato rimosso in Visual Studio 16.8 per riflettere le modifiche apportate a C.128 nelle linee guida di base di C++.
Linee guida di base di C++
Il consenso corrente sulle linee guida di base consiste nell'escludere i distruttori dalla raccomandazione "override esplicitamente".
Note
- La regola contrassegna l'override dei distruttori che usano in modo esplicito gli identificatori 'virtual' o 'override'.
- I distruttori possono comunque usare l'identificatore "finale" a causa della relativa semantica speciale.
- Gli avvisi sono visualizzati nelle definizioni di funzione, non nelle dichiarazioni. Può generare confusione, poiché le definizioni non hanno identificatori virtuali, ma l'avviso è ancora appropriato.
Nome dell'analisi del codice: NO_EXPLICIT_DTOR_OVERRIDE
Esempio: 'override' esplicito
class Transaction {
public:
virtual ~Transaction();
// ...
};
class DistributedTransaction : public Transaction {
public:
~DistributedTransaction() override { // C26443
// ...
}
};