1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
namespace ns { template<typename T> class A {}; } template<typename T> struct B { typedef ns::A<T> Type; }; template<typename T> void Func(typename B<T>::Type b) {} int main() { B<int>::Type b; Func(b); return 0; }