#include <iostream>
#include <functional>
void call(std::function<void (void *)> fun) {
fun(0);
}
class X {
public:
void fun(void *) {
std::cout << "tralala";
}
void test() {
using namespace std::placeholders;
call(std::bind(&X::fun, std::ref(*this), _1));
}
};
int main() {
X x;
x.test();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCnZvaWQgY2FsbChzdGQ6OmZ1bmN0aW9uPHZvaWQgKHZvaWQgKik+IGZ1bikgewogIGZ1bigwKTsgICAgCn0KCmNsYXNzIFggewpwdWJsaWM6CiAgdm9pZCBmdW4odm9pZCAqKSB7CiAgICBzdGQ6OmNvdXQgPDwgInRyYWxhbGEiOwogIH0KICAKICB2b2lkIHRlc3QoKSB7CiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOjpwbGFjZWhvbGRlcnM7CgogICAgY2FsbChzdGQ6OmJpbmQoJlg6OmZ1biwgc3RkOjpyZWYoKnRoaXMpLCBfMSkpOwogIH0KfTsKCmludCBtYWluKCkgewogIFggeDsKICAKICB4LnRlc3QoKTsKICAKICByZXR1cm4gMDsKfQ==