#include <iostream> #define print(msg) std::cout << msg << std::endl; template<typename T> struct is_pointer { static const int value=0; }; template<typename T> struct is_pointer<T*> { static const int value=1; }; int main (int argv, char * args[] ) { std::cout << is_pointer<int (test::*)(void) >::value << std::endl; return 0; }