2 // GROUPS passed templates overloading
3 template<class T> class Vector { };
4 template<class T> struct Sort { static void sort (Vector<typename T::foo> &); };
5 template<class T> void Sort<T>::sort (Vector<typename T::foo> &) { }
6 struct whee { typedef int foo; };
8 void f (Vector<int> &vi) { Sort<whee>::sort (vi); }