Udostępnij za pomocą


Ostrzeżenie kompilatora (poziom 1) C4486

"function": prywatna wirtualna metoda klasy ref lub klasy wartości powinna być oznaczona jako "zapieczętowana"

Uwagi

Ponieważ nie można uzyskać dostępu do prywatnej wirtualnej funkcji składowej klasy zarządzanej lub struktury, należy ją oznaczyć jako zapieczętowaną.

Example

Poniższy przykład generuje kod C4486.

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

W poniższym przykładzie pokazano jedno możliwe użycie prywatnej, zapieczętowanej funkcji wirtualnej.

// 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;
   }
};