fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void func(int i);
  5.  
  6. template<typename T>
  7. void func(T i);
  8.  
  9. template <>
  10. void func(int i);
  11.  
  12.  
  13. int main() {
  14. func(5.0);
  15. func(5);
  16. func<int>(5);
  17. func<int>(5.0);
  18. func((int)5.0);
  19.  
  20. return 0;
  21. }
  22.  
  23. void func(int i){
  24. cout << "non-template func" << endl;
  25. }
  26.  
  27. template<typename T>
  28. void func(T i){
  29. cout << "Base template func" << endl;
  30. }
  31.  
  32. template <>
  33. void func(int i){
  34. cout << "specialized int template func" << endl;
  35. }
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
Base template func
non-template func
specialized int template func
specialized int template func
non-template func