• Source
    1. #include <iostream>
    2. #include <functional>
    3.  
    4. using namespace std;
    5.  
    6. static bool is_even(int i) {
    7. return i % 2 == 0;
    8. }
    9.  
    10. template<typename T>
    11. void f(const T &d, function<bool(T)> f) {
    12. cout << (f(d) ? "true" : "false");
    13. }
    14.  
    15. int main() {
    16. f<int>(10, [](int e){ return e % 2 == 0; });
    17. f<int>(10, is_even);
    18.  
    19. return 0;
    20. }