1 // { dg-do compile { target c++11 } } 2 template<typename...> struct count; 3 4 template<> 5 struct count<> { 6 static const int value = 0; 7 }; 8 9 template<typename T, typename... Args> 10 struct count<T, Args...> { 11 static const int value = 1 + count<Args...>::value; 12 }; 13 14 int a0[count<>::value == 0? 1 : -1]; 15 int a1[count<char>::value == 1? 1 : -1]; 16 int a2[count<char, short>::value == 2? 1 : -1]; 17 int a3[count<char, short, int>::value == 3? 1 : -1]; 18 int a4[count<char, short, int, long>::value == 4? 1 : -1]; 19