Compartilhar via


Erro do compilador C3230

'function' : o argumento de tipo de modelo para 'template' não pode conter um parâmetro de tipo genérico: 'param'

Os modelos são instanciados em tempo de compilação, mas os genéricos são instanciados em tempo de execução. Portanto, não é possível gerar código genérico que possa chamar o modelo, porque o modelo não pode ser instanciado em tempo de execução quando o tipo genérico é finalmente conhecido.

O exemplo a seguir gera C3230:

// C3230.cpp
// compile with: /clr /LD
template <class S>
void f(S t);

generic <class U>
ref class C {
   void f1(U x) {
      f(x);   // C3230
   }
};