1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// { dg-options "-std=c++0x" } template<int N> struct Int2Type { }; template<typename... T> struct Outer { template<typename... U> void foo(Int2Type<sizeof...(T)>, Int2Type<sizeof...(U)>); }; Outer<short, int, long> outer; void g4() { outer.foo<float, double>(Int2Type<3>(), Int2Type<2>()); } template<typename... T, template<T...> class X> void f1();