Ошибка компилятора C3650
"interface_method" : не может использоваться в качестве явной переопределения, должен быть виртуальной функцией-членом базового класса.
Предпринята попытка выполнить явное переопределение элемента, который не был виртуальным.
Дополнительные сведения см. в разделе "Явные переопределения".
Следующий пример приводит к возникновению ошибки C3650:
// C3650.cpp
// compile with: /clr
public interface struct I {
void a();
};
public ref class S {
public:
static int f() { return 0; }
static int g() { return 0; }
};
public ref struct T1 : public S, I {
virtual int f() new sealed = S::f; // C3650
virtual int g() { return 0; } // OK does not override S::g
virtual void a() new sealed = I::a {} // OK
};