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.
"override_function": pasuje do metody klasy bazowej ref "base_class_function", ale nie jest oznaczona jako "virtual", "new" lub "override"; Przyjmuje się, że "nowy" (a nie "wirtualny")
Podczas kompilowania z /clr kompilator nie będzie niejawnie przesłaniać funkcji klasy bazowej, co oznacza, że funkcja uzyska nowe miejsce w tabeli wirtualnej. Aby rozwiązać ten problem, jawnie określ, czy funkcja jest przesłonięć.
Aby uzyskać więcej informacji, zobacz:
C4484 jest zawsze wystawiany jako błąd. Użyj pragma ostrzeżenia, aby pominąć C4484.
Przykład
Poniższy przykład generuje C4484.
// C4484.cpp
// compile with: /clr
ref struct A {
virtual void Test() {}
};
ref struct B : A {
void Test() {} // C4484
};
// OK
ref struct C {
virtual void Test() {}
virtual void Test2() {}
};
ref struct D : C {
virtual void Test() new {}
virtual void Test2() override {}
};