编译器警告 C4485

“override_function”:匹配 ref 基类方法“base_class_function”,但没有标记为“new”或“override”;假定为“new”(和“virtual”)

访问器替代具有或不带 virtual 关键字的基类访问器函数,但 overridenew 说明符不是重写函数签名的一部分。 添加 newoverride 说明符以解决此警告。

有关详细信息,请参阅 overridenew(vtable 中的新槽)

始终发出 C4485 错误。 使用 warning pragma 来禁止 C4485。

示例

以下示例生成 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 {}
   }
};