C3225 de erro do compilador
argumento de tipo genérico para 'arg' não pode ser 'type', ele deve ser um tipo de valor ou lidar com tipo
O argumento de tipo genérico não era do tipo correto.
Para obter mais informações, consulte Genéricos (Extensões de Componentes C++).
Exemplo
Você não pode criar uma instância de um tipo genérico com um tipo nativo.O exemplo a seguir gera C3225.
// C3225.cpp
// compile with: /clr
class A {};
ref class B {};
generic <class T>
ref class C {};
int main() {
C<A>^ c = gcnew C<A>; // C3225
C<B^>^ c2 = gcnew C<B^>; // OK
}
O exemplo a seguir cria um componente usando o C#.Observe que a restrição Especifica o tipo genérico somente pode ser instanciado com um tipo de valor.
// C3225_b.cs
// compile with: /target:library
// a C# program
public class MyList<T> where T: struct {}
Esta amostra consome C#-autor de componente e viola a restrição que MyList só pode ser instanciado com um tipo de valor diferente de Nullable.O exemplo a seguir gera C3225.
// C3225_c.cpp
// compile with: /clr
#using "C3225_b.dll"
ref class A {};
value class B {};
int main() {
MyList<A> x; // C3225
MyList<B> y; // OK
}