次の方法で共有


コンパイラ エラー C2140

'type' : ジェネリック型パラメーターに依存する型は、コンパイラの組み込み型の特徴である 'trait' への引数として使用できません

注釈

型の特徴に無効な型指定子が渡されました。

詳細については、「型の特徴のコンパイラ サポート」を参照してください。

次の例では C2140 が生成されます。

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