#include <iostream>
#include <functional>
void someFunc(const std::string& name, int value)
{
std::cout << name << " " << value << std::endl;
}
int main() {
int count =0;
std::string name("Some name...");
std::function<void()> task = std::bind(&someFunc,name,count );
//alternative without bind is to wrap it in a capturing lambda
std::function<void()> task2 = [=](){ someFunc(name,count); };
task();
task2();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCnZvaWQgc29tZUZ1bmMoY29uc3Qgc3RkOjpzdHJpbmcmIG5hbWUsIGludCB2YWx1ZSkKewogICBzdGQ6OmNvdXQgPDwgbmFtZSA8PCAiICIgPDwgdmFsdWUgPDwgc3RkOjplbmRsOwkKfQoKaW50IG1haW4oKSB7CgkKICBpbnQgY291bnQgPTA7CiAgc3RkOjpzdHJpbmcgbmFtZSgiU29tZSBuYW1lLi4uIik7CiAgCgogIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiB0YXNrID0gc3RkOjpiaW5kKCZzb21lRnVuYyxuYW1lLGNvdW50ICk7CgogIC8vYWx0ZXJuYXRpdmUgd2l0aG91dCBiaW5kIGlzIHRvIHdyYXAgaXQgaW4gYSBjYXB0dXJpbmcgbGFtYmRhCiAgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IHRhc2syID0gWz1dKCl7IHNvbWVGdW5jKG5hbWUsY291bnQpOyB9OwogCiAgdGFzaygpOwogIHRhc2syKCk7CiAgcmV0dXJuIDA7Cn0=