Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
"derived_class_function": pasuje do dziedziczonej metody innej niż wirtualna "base_class_function", ale nie jest jawnie oznaczona jako "nowa"
Funkcja w klasie pochodnej ma ten sam podpis co funkcja niewirtualnej klasy bazowej. C4487 przypomina, że funkcja klasy pochodnej nie zastępuje funkcji klasy bazowej. Jawnie oznacz funkcję klasy pochodnej, aby new
rozwiązać to ostrzeżenie.
Aby uzyskać więcej informacji, zobacz nowe miejsce (nowe miejsce w tabeli wirtualnej).
Przykład
Poniższy przykład generuje 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();
}