Error del compilador C3399
'tipo': no se pueden proporcionar argumentos cuando se crea una instancia de un parámetro genérico
Cuando se especifica la restricción gcnew()
, se indica que el tipo de restricción tendrá un constructor sin parámetros. Por lo tanto, es un error tratar de crear una instancia de ese tipo y pasar un parámetro.
Consulte Restricciones de parámetros de tipo genérico (C++/CLI) para más información.
Ejemplo
El ejemplo siguiente genera la advertencia 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
}