我正在尝试实现一个模板类,它能够告诉我变量是类、结构还是基本类型。
到目前为止,我已经有了这个:
template< typename T >
class is_class
{
private:
template< typename X >
static char ( &i_class( void(X::*)() ) )[1];
//
template< typename X >
static char ( &i_class( X ) )[2];
public:
static bool const val = sizeof( i_class< T >(0) ) == 1;
};
和用法:
is_class< int >::val; // false
is_class< some_class_type >::val; // true
问题是现在我需要在可以与此代码一起使用的每个类中编写一个空白 void 函数。
有谁知道这个问题的解决方案?