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