Erreur du compilateur C3399
'type' : impossible de fournir des arguments lors de la création d’une instance d’un paramètre générique
Quand vous spécifiez la contrainte gcnew()
, vous indiquez que le type de contrainte aura un constructeur sans paramètre. Il est donc incorrect d’essayer d’instancier ce type et de passer un paramètre.
Pour plus d’informations, consultez Contraintes sur les paramètres de type générique (C++/CLI).
Exemple
L’exemple suivant génère l’erreur C3399.
// C3399.cpp
// compile with: /clr /c
generic <class T>
where T : gcnew()
void f() {
T t = gcnew T(1); // C3399
T t2 = gcnew T(); // OK
}