Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
argument typu ogólnego dla "arg" nie może być typem, musi być typem wartości lub typem uchwytu
Uwagi
Argument typu ogólnego nie był poprawnym typem.
Aby uzyskać więcej informacji, zobacz Ogólne.
Przykłady
Nie można utworzyć wystąpienia typu ogólnego z typem natywnym. Poniższy przykład generuje kod 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#. Zwróć uwagę, że ograniczenie określa, że typ ogólny można utworzyć tylko za pomocą typu wartości.
// C3225_b.cs
// compile with: /target:library
// a C# program
public class MyList<T> where T: struct {}
W tym przykładzie używany jest składnik C#-authored i narusza ograniczenie, że element MyList może zostać utworzony tylko przy użyciu typu wartości innej niż Nullable. Poniższy przykład generuje kod 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
}