#include <iostream>
#include <functional>
std::function<int(int)> funcGen(int param) {
std::function<int(int)> myGeneratedFunc =
[param](int input) -> int {
return input+param;
};
return myGeneratedFunc;
}
int main() {
std::function<int(int)> myFunc = funcGen(3);
std::cout << "this should be 4=3+1: " << myFunc(1) << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCnN0ZDo6ZnVuY3Rpb248aW50KGludCk+IGZ1bmNHZW4oaW50IHBhcmFtKSB7CglzdGQ6OmZ1bmN0aW9uPGludChpbnQpPiBteUdlbmVyYXRlZEZ1bmMgPSAKCVtwYXJhbV0oaW50IGlucHV0KSAtPiBpbnQgeyAKCQlyZXR1cm4gaW5wdXQrcGFyYW07Cgl9OwoJcmV0dXJuIG15R2VuZXJhdGVkRnVuYzsKfQoKaW50IG1haW4oKSB7CgoJc3RkOjpmdW5jdGlvbjxpbnQoaW50KT4gbXlGdW5jID0gZnVuY0dlbigzKTsKCXN0ZDo6Y291dCA8PCAidGhpcyBzaG91bGQgYmUgND0zKzE6ICIgPDwgbXlGdW5jKDEpIDw8ICJcbiI7CglyZXR1cm4gMDsKfQ==