共用方式為


警告 C26443

覆寫解構函式不應使用明確的 'override' 或 'virtual' 規範。

Visual Studio 16.8 已移除此警告,以反映 C++ 核心指導方針 中 C.128 的變更。

C++ Core Guidelines

C.128:虛擬函式應該只指定其中一個虛擬、覆寫或最終 函式。

核心指導方針的目前共識是排除「明確覆寫」建議的解構函式。

備註

  • 規則旗標會覆寫明確使用 'virtual' 或 'override' 規範的解構函式。
  • 解構函式仍可使用 'final' 規範,因為它的特殊語意。
  • 警告會顯示在函式定義上,而不是宣告。 這可能會造成混淆,因為定義沒有虛擬規範,但警告仍然適用。

程式碼分析名稱: NO_EXPLICIT_DTOR_OVERRIDE

範例:明確 'override'

class Transaction {
public:
    virtual ~Transaction();
    // ...
};

class DistributedTransaction : public Transaction {
public:
    ~DistributedTransaction() override { // C26443
        // ...
    }
};

另請參閱

C.128:虛擬函式應該只指定其中一個虛擬、覆寫或最終函式