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