Teilen über


Compilerfehler C2140

'type' : Ein Typ, der von einem generischen Typparameter abhängig ist, ist nicht als Argument für den systeminternen Compilertyp "trait" zulässig.

Bemerkungen

Ein ungültiger Typbezeichner wurde an eine Typeigenschaft übergeben.

Weitere Informationen finden Sie unter Compilerunterstützung für Typmerkmale.

Beispiel

Im folgenden Beispiel wird C2140 generiert.

// C2140.cpp
// compile with: /clr /c
template <class T>

struct is_polymorphic {
   static const bool value = __is_polymorphic(T);
};

class x {};

generic <class T>
ref class C {
   void f() {
      System::Console::WriteLine(__is_polymorphic(T));   // C2140
      System::Console::WriteLine(is_polymorphic<T>::value);   // C2140

      System::Console::WriteLine(__is_polymorphic(x));   // OK
      System::Console::WriteLine(is_polymorphic<x>::value);   // OK
   }
};