Erro do compilador C3399
'type': não é possível fornecer argumentos ao criar uma instância de um parâmetro genérico
Quando você especificar a restrição gcnew()
, especifique que o tipo de restrição terá um construtor sem parâmetros. Portanto, é um erro tentar criar uma instância desse tipo e passar um parâmetro.
Confira Restrições em Parâmetros de Tipo Genérico (C++/CLI) para obter mais informações.
Exemplo
A amostra a seguir gera 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
}