fork download
  1. #include <string>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. template<typename T>
  6. T foo() {
  7. T t = {};
  8. return t;
  9. }
  10.  
  11. template <>
  12. string foo() {
  13. return "foo";
  14. }
  15.  
  16. template <>
  17. int foo() {
  18. return 177;
  19. }
  20.  
  21. int main() {
  22. cout << "foo<double>=" << foo<double>() << endl;
  23. cout << "foo<string>=" << foo<string>() << endl;
  24. cout << "foo<int>=" << foo<int>() << endl;
  25. }
Success #stdin #stdout 0s 16056KB
stdin
Standard input is empty
stdout
foo<double>=0
foo<string>=foo
foo<int>=177