fork download
  1. #include <iostream>
  2.  
  3. int anyFunc(int a, int b, int c = 0, int d = 0) {
  4. return a + b + c + d;
  5. }
  6.  
  7.  
  8. template <class T, class F>
  9. T callFunc4(F func, T a, T b, T c = T(), T d = T()) {
  10. return func(a, b, c, d);
  11. }
  12.  
  13. template <class T, class F>
  14. T callFunc2(F func, T a, T b) {
  15. return func(a, b);
  16. }
  17.  
  18.  
  19. int main() {
  20. std::cout << callFunc4(anyFunc, 5, 5) << std::endl;
  21. std::cout << callFunc2([](int a, int b){ return anyFunc(a,b); }, 5, 5) << std::endl;
  22. }
  23.  
Success #stdin #stdout 0s 4492KB
stdin
Standard input is empty
stdout
10
10