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