#include <iostream>
#include <functional>
using namespace std;
int caller(function<int(void*)> callback, void * arg = NULL) {
return callback(arg);
}
int main()
{
const char *str = "world + dog";
caller([&](void *arg) {
printf("hello %s\n", str);
return 0;
}, NULL);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgY2FsbGVyKGZ1bmN0aW9uPGludCh2b2lkKik+IGNhbGxiYWNrLCB2b2lkICogYXJnID0gTlVMTCkgewogIHJldHVybiBjYWxsYmFjayhhcmcpOwp9CgppbnQgbWFpbigpCnsKCiAgY29uc3QgY2hhciAqc3RyID0gIndvcmxkICsgZG9nIjsKICBjYWxsZXIoWyZdKHZvaWQgKmFyZykgewogICAgICBwcmludGYoImhlbGxvICVzXG4iLCBzdHIpOwogICAgICByZXR1cm4gMDsKICB9LCBOVUxMKTsKCiAgcmV0dXJuIDA7Cgp9Cg==