Freigeben über


Compilerwarnung (Ebene 1) C4486

"Funktion" : eine private virtuelle Methode einer Referenzklasse oder Wertklasse sollte als "versiegelt" gekennzeichnet werden.

Da auf eine private virtuelle Memberfunktion einer verwalteten Klasse oder Struktur nicht zugegriffen oder außer Kraft gesetzt werden kann, sollte sie als versiegelt gekennzeichnet werden.

Beispiele

Im folgenden Beispiel wird C4486 generiert.

// C4486.cpp
// compile with: /clr /c /W1
ref class B {
private:
   virtual void f() {}   // C4486
   virtual void f1() sealed {}   // OK
};

Das folgende Beispiel zeigt eine mögliche Verwendung einer privaten versiegelten, virtuellen Funktion.

// C4486_b.cpp
// compile with: /clr /c
ref class B {};

ref class D : B {};

interface class I {
   B^ mf();
};

ref class E : I {
private:
   virtual B^ g() sealed = I::mf {
      return gcnew B;
   }

public:
   virtual D^ mf() {
      return gcnew D;
   }
};