编译器警告(等级 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;
}
};