1 template <class T, int (T::*)> struct foo; 2 3 template <class T> 4 int f(foo<T,&T::ob_type>*); 5 6 template <class T> 7 char* f(...); 8 9 struct X { int ob_type; }; 10 struct Y { char* ob_type; }; 11 int x = f<X>(0); 12 char* y = f<Y>(0); 13 char* z = f<int>(0); 14 main()15int main() { return 0; } 16