コンパイラの警告 C4485
'override_function' : 基本 ref クラスメソッド 'base_class_function' と一致しますが、'new' または 'override' とマークされていません。'new' (と 'virtual') が必要です
アクセサーは、virtual
キーワードの指定または指定なしで、基本クラスアクセサー関数をオーバーライドしますが、override
または new
指定子はオーバーライドする関数シグネチャの一部ではありません。 new
または override
指定子を追加して、この警告を解決します。
詳細は、オーバーライド と new (vtable の新しいスロット) を参照してください。
C4485 は、常にエラーとして表示されます。 C4485 が表示されないようにするには、warning pragma を使用します。
例
次の例では C4485 が生成されます
// C4485.cpp
// compile with: /clr
delegate void Del();
ref struct A {
virtual event Del ^E;
};
ref struct B : A {
virtual event Del ^E; // C4485
};
ref struct C : B {
virtual event Del ^E {
void raise() override {}
void add(Del ^) override {}
void remove(Del^) override {}
}
};