fork download
  1. #include <type_traits>
  2.  
  3. struct end_of_list;
  4.  
  5. template <typename T>
  6. void f() {
  7. static_assert(std::is_same<T, end_of_list>::value, "error");
  8. }
  9.  
  10. template <typename T1, typename T2, typename... Ts>
  11. void f() {
  12. // do something with T
  13. f<T2, Ts...>();
  14. }
  15.  
  16. int main() {
  17. f<int, float, char, end_of_list>();
  18. return 0;
  19. }
Success #stdin #stdout 0s 2848KB
stdin
Standard input is empty
stdout
Standard output is empty