次の方法で共有


コンパイラの警告 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 {}
   }
};