Megosztás a következőn keresztül:


C3225-ös fordítási hiba

az "arg" általános típusargumentuma nem lehet "típus", értéktípusnak vagy leírótípusnak kell lennie

Megjegyzések

Az általános típus argumentum nem a megfelelő típus volt.

További információ: Generics.

Példák

Általános típus nem hozható létre natív típussal. Az alábbi példa C3225-öt hoz létre.

// 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
}

Az alábbi példa egy C#-alapú összetevőt hoz létre. Figyelje meg, hogy a korlátozás azt határozza meg, hogy az általános típus csak értéktípussal hozható létre.

// C3225_b.cs
// compile with: /target:library
// a C# program
public class MyList<T> where T: struct {}

Ez a példa a C# nyelven írt összetevőt használja, és megsérti azt a kényszert, hogy a MyList csak Nullable más értéktípussal hozható létre. Az alábbi példa C3225-öt hoz létre.

// 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
}