1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
template <class T> class A { typedef T I; }; template <class T> void f(typename T::I); template <class T> void f(int); int main() { f<A<float> > (1); }