首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

template 判定是否是class,该如何处理

2012-04-02 
template 判定是否是classc++ template中有一个例子:template typename T class IsClass {private:type

template 判定是否是class
c++ template中有一个例子:
template < typename T >
class IsClass {
private:
typedef char one;
typedef struct { char a[2]; } two;

template < typename C >
static one test( int C::* );

template < typename C >
static two test(...);

public:
enum { Yes = sizeof( test<T>(0) ) == 1 }; //原来的是 IsClass<T>::test<T>(0),但是VS编译不了
enum { No = !Yes };
};
想问的是:“ int C::*”是什么东西?感觉不是指向成员函数的指针

[解决办法]
是数据成员指针.和类成员函数指针 一样都是类成员指针.

热点排行