fork download
  1. #include <iostream>
  2.  
  3. template <typename T, std::size_t N> struct S {};
  4.  
  5. template <typename T> void f(T x) {
  6. std::cout << "<T,N> version\n";
  7. }
  8.  
  9. template<std::size_t N> void f(S<float, N> f) {
  10. std::cout << "<float,N> version\n";
  11. }
  12.  
  13. template<typename T> void f(S<T, 3> f) {
  14. std::cout << "<T,3> version\n";
  15. }
  16.  
  17. int main() {
  18. f(S<int, 1>());
  19. f(S<float, 2>());
  20. f(S<char, 3>());
  21.  
  22. return 0;
  23. }
Success #stdin #stdout 0s 4476KB
stdin
Standard input is empty
stdout
<T,N> version
<float,N> version
<T,3> version