Поделиться через


Предупреждение компилятора (уровень 1) C4486

Function: частный виртуальный метод класса ссылок или класса значений должен быть помечен как "запечатанный".

Так как к частной виртуальной функции-члену управляемого класса или структуры не удается получить доступ или переопределить, он должен быть помечен как запечатанный.

Примеры

Следующий пример приводит к возникновению ошибки C4486.

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

В следующем примере показано одно возможное использование закрытой запечатаной виртуальной функции.

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