Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
"derived_class_function" : соответствует наследуемого не-виртуального метода "base_class_function", но не имеет явного метки "new"
Замечания
Функция в производном классе имеет ту же сигнатуру, что и функция не виртуального базового класса. C4487 напоминает, что производная функция класса не переопределяет функцию базового класса. Явным образом помечайте производную функцию класса, чтобы new устранить это предупреждение.
Дополнительные сведения см. в статье "Новые слоты в vtable".
Пример
В следующем примере генерируется C4487.
// C4487.cpp
// compile with: /W4 /clr
using namespace System;
public ref struct B {
void f() { Console::WriteLine("in B::f"); }
void g() { Console::WriteLine("in B::g"); }
};
public ref struct D : B {
void f() { Console::WriteLine("in D::f"); } // C4487
void g() new { Console::WriteLine("in D::g"); } // OK
};
int main() {
B ^ a = gcnew D;
// will call base class functions
a->f();
a->g();
}