C3225 błąd kompilatora
argument typu rodzajowego 'arg' nie może być 'type', musi być typ wartości lub typ obsługi
Argument typu rodzajowego nie poprawnego typu.
Aby uzyskać więcej informacji, zobacz Typy ogólne (C++ Component Extensions).
Przykład
Nie można utworzyć wystąpienia typu rodzajowego z typem macierzystym.Poniższy przykład generuje 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
}
Poniższy przykład tworzy składnik przy użyciu języka C#.Należy zauważyć, że ograniczenie Określa, że typ rodzajowy można tylko można utworzyć wystąpienia typu wartości.
// C3225_b.cs
// compile with: /target:library
// a C# program
public class MyList<T> where T: struct {}
Próbka ta zużywa C#-utworzony składnik i naruszające ograniczenie, że MyList można tylko utworzyć wystąpienia typu wartości inne niż Nullable.Poniższy przykład generuje 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
}