C3225 chyba kompilátoru
nemůže být obecný typ argumentu pro "argument", "typ", musí být typu hodnoty nebo popisovač typu
Obecný typ argumentu není správného typu.
Další informace naleznete v tématu Obecné typy (rozšíření komponent C++).
Příklad
Nelze vytvořit instanci s nativní typ obecného typu.Následující ukázka 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
}
Následující příklad vytvoří komponentu pomocí jazyka C#.Všimněte si, že omezení určuje, že obecný typ lze pouze instance typu hodnoty.
// C3225_b.cs
// compile with: /target:library
// a C# program
public class MyList<T> where T: struct {}
Tento vzorek spotřebovává C#-vytvořené komponenty a porušují omezení MyList lze pouze instance typu hodnoty jiné než Nullable.Následující ukázka 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
}