Compilerfehler C3231

'Argument': Das Vorlagentypargument kann keinen generischen Typparameter verwenden

Vorlagen werden zur Kompilierzeit instanziiert, Generika jedoch zur Laufzeit. Es ist daher nicht möglich, generischen Code zu generieren, der die Vorlage aufrufen kann, da die Vorlage nicht zur Laufzeit instanziiert werden kann. Der generische Typ ist jedoch erst zur Laufzeit bekannt.

Im folgenden Beispiel wird C3231 generiert:

// C3231.cpp
// compile with: /clr /LD
template <class T> class A;

generic <class T>
ref class C {
   void f() {
      A<T> a;   // C3231
   }
};