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