Upozornění kompilátoru (úroveň 1) C4488
"function" : vyžaduje klíčové slovo "keyword" k implementaci metody rozhraní "interface_method"
Třída musí implementovat všechny členy rozhraní, ze kterého přímo dědí. Implementovaný člen musí mít veřejnou přístupnost a musí být označen jako virtuální.
Příklady
C4488 může nastat, pokud implementovaný člen není veřejný. Následující ukázka vygeneruje C4488.
// C4488.cpp
// compile with: /clr /c /W1 /WX
interface struct MyI {
void f1();
};
// implemented member not public
ref class B : MyI { virtual void f1() {} }; // C4488
// OK
ref class C : MyI {
public:
virtual void f1() {}
};
C4488 může nastat, pokud implementovaný člen není označen jako virtuální. Následující ukázka vygeneruje C4488.
// C4488_b.cpp
// compile with: /clr /c /W1 /WX
interface struct MyI {
void f1();
};
ref struct B : MyI { void f1() {} }; // C4488
ref struct C : MyI { virtual void f1() {} }; // OK