コンパイラの警告 (レベル 1) C4486
'function': ref クラスのプライベート仮想メソッドまたは値クラスは、'シールド' に設定されなければなりません
マネージド クラスまたは構造体のプライベート仮想メンバー関数にアクセスしたりオーバーライドしたりできないので、シールド とマークする必要があります。
例
次の例では C4486 が生成されます。
// C4486.cpp
// compile with: /clr /c /W1
ref class B {
private:
virtual void f() {} // C4486
virtual void f1() sealed {} // OK
};
次の例は、プライベート シールド仮想関数を使用できる 1 つの例を示しています。
// 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;
}
};