Erreur du compilateur C3230
'fonction' : l’argument de type de modèle de 'modèle' ne peut pas contenir de paramètre de type générique : 'paramètre'
Les modèles sont instanciés au moment de la compilation, mais les génériques sont instanciés au moment de l’exécution. Ainsi, il n’est pas possible de générer du code générique pouvant appeler le modèle, car celui-ci ne peut pas être instancié au moment de l’exécution quand le type générique est enfin connu.
L’exemple suivant génère l’erreur 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
}
};