#include <iostream>
#include <functional>
template <typename T>
class LDI
{
private:
std::function<bool (T, T)> fc; //use std::function
public:
LDI(std::function<bool (T, T)> func): fc(func)//use std::function in the parameter
{
std::cout<<"constructor called"<<std::endl;
}
~LDI() {}
};
bool randomFunction(int a, int b)
{
std::cout<<"randomFunction called"<<std::endl;
return a <= b;
}
int main() {
LDI<int> test(randomFunction);
return 0;
}