Aracılığıyla paylaş


Derleyici Hatası C3225

'arg' için genel tür bağımsız değişkeni 'tür' olamaz, bir değer türü veya tanıtıcı türü olmalıdır

Açıklamalar

Genel tür bağımsız değişkeni doğru türde değildi.

Daha fazla bilgi için bkz . Genel Bilgiler.

Örnekler

Yerel türe sahip genel bir tür örneği oluşturamazsınız. Aşağıdaki örnek C3225 oluşturur.

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

Aşağıdaki örnek, C# kullanarak bir bileşen oluşturur. Kısıtlamanın genel türün yalnızca bir değer türüyle örneklenebilir olduğunu belirttiğine dikkat edin.

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

Bu örnek, C# ile yazılmış bileşeni tüketir ve MyList öğesinin yalnızca Nullable dışındaki bir değer türüyle örneklenebileceği kısıtlamasını ihlal eder. Aşağıdaki örnek C3225 oluşturur.

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