次の方法で共有


コンパイラ エラー C2139

'type' : 定義されていないクラスは、コンパイラの組み込み型の特徴である 'trait' への引数として使用できません

型の特徴に渡された引数が無効です。

解説

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

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

// C2139.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

template <class T>
struct is_polymorphic {
   static const bool value = __is_polymorphic(T);
};

class C;
class D {};

class E {
public:
   virtual void Test() {}
};

int main() {
   cout << is_polymorphic<C>::value << endl;   // C2139
   cout << is_polymorphic<D>::value << endl;   // OK
   cout << is_polymorphic<E>::value << endl;   // OK
}