fork download
  1. #include <cstdio> // for printf.
  2. #include <cstdint> // for int32_t.
  3.  
  4. template<typename U>
  5. auto kuso(U) -> void;
  6.  
  7. auto kuso(bool b) -> void
  8. {
  9. std::printf("in auto kuso(bool) -> void\n");
  10. kuso<bool>(b);
  11. }
  12.  
  13. auto kuso(double r) -> void
  14. {
  15. std::printf("in auto kuso(double) -> void\n");
  16. kuso<double>(r);
  17. }
  18.  
  19. template<typename U>
  20. auto kuso(U) -> void
  21. {
  22. std::printf("in auto kuso<U>(U) -> void\n");
  23. std::printf(" sizeof(U) = %u\n", (unsigned)sizeof(U));
  24. }
  25.  
  26. auto main() -> int
  27. {
  28. std::printf("--\n");
  29. kuso(true);
  30.  
  31. std::printf("--\n");
  32. kuso(3.14);
  33.  
  34. std::printf("--\n");
  35. kuso<std::int32_t>(100);
  36. }
  37.  
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
--
in auto kuso(bool) -> void
in auto kuso<U>(U) -> void
    sizeof(U) = 1
--
in auto kuso(double) -> void
in auto kuso<U>(U) -> void
    sizeof(U) = 8
--
in auto kuso<U>(U) -> void
    sizeof(U) = 4