编译器警告(等级 1)C4486

“function”:ref 类或值类的私有虚方法应该标记为“sealed”

由于无法访问或重写托管类或结构的私有虚拟成员函数,因此应将其标记为 sealed

示例

以下示例生成 C4486。

// C4486.cpp
// compile with: /clr /c /W1
ref class B {
private:
   virtual void f() {}   // C4486
   virtual void f1() sealed {}   // OK
};

以下示例显示了私有 sealed 虚函数的一种可能用法。

// C4486_b.cpp
// compile with: /clr /c
ref class B {};

ref class D : B {};

interface class I {
   B^ mf();
};

ref class E : I {
private:
   virtual B^ g() sealed = I::mf {
      return gcnew B;
   }

public:
   virtual D^ mf() {
      return gcnew D;
   }
};