Поделиться через


Предупреждение компилятора C4485

"override_function" : соответствует методу класса базового ссылок "base_class_function", но не помечен как "new" или "override"; Предполагается , что "new" (и "virtual")

Метод доступа переопределяет ключевое слово с ключевым словом или без нее virtual , функцию доступа базового класса, но override описатель new не был частью переопределяющей подписи функции. new Добавьте или override описатель, чтобы устранить это предупреждение.

Дополнительные сведения см. в переопределении и новом (новом слоте в vtable).

C4485 всегда выдается как ошибка. Используйте предупреждение 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 {}
   }
};