Erro do compilador C3284
as restrições para o parâmetro genérico 'parameter' da função 'function' devem corresponder às restrições do parâmetro genérico 'parameter' da função 'function'
Uma função genérica virtual deve usar as mesmas restrições que uma função virtual com o mesmo nome e conjunto de argumentos na classe base.
O exemplo a seguir gera C3284:
// C3284.cpp
// compile with: /clr /c
// C3284 expected
public interface class IGettable {
int Get();
};
public interface class B {
generic<typename T>
where T : IGettable
virtual int mf(T t);
};
public ref class D : public B {
public:
generic<typename T>
// Uncomment the following line to resolve.
// where T : IGettable
virtual int mf(T t) {
return 4;
}
};