    #include <functional>
    #include <iostream>
     
    void print(const char* string)
    {
      std::cout << string << std::endl;
    }
     
    int main(int argc, char ** argv)
    {
      auto printFunction = std::bind(&print, std::placeholders::_1);
     
      printFunction("hello from print bind");
     
      auto lambda = [] (std::function<void(const char*)> printParamFunc) {
        printParamFunc("hello from print from std::function");
      };
     
      auto f2 = std::bind(lambda, printFunction);
      f2();
    }