fork download
  1. #include <functional>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. template<typename T>
  7. auto foo(T a)
  8. -> typename enable_if<is_integral<T>::value, T>::type
  9. {
  10. return a;
  11. }
  12.  
  13. template<typename T>
  14. auto foo(T a)
  15. -> typename enable_if<is_floating_point<T>::value, T>::type
  16. {
  17. return a;
  18. }
  19.  
  20.  
  21. int main()
  22. {
  23. foo(5);
  24. foo(3.4);
  25.  
  26. return 0;
  27. }
Success #stdin #stdout 0s 2892KB
stdin
Standard input is empty
stdout
Standard output is empty