#include <iostream>
// 関数参照を受け取って実行
int add( int (*func)(int), int b ) {
return func(b) + 10;
}
int test(int x) {
return x * 2;
}
int main() {
// 関数参照を渡して実行
std::cout << add(&test, 4) << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKLy8g6Zai5pWw5Y+C54Wn44KS5Y+X44GR5Y+W44Gj44Gm5a6f6KGMCmludCBhZGQoIGludCAoKmZ1bmMpKGludCksIGludCBiICkgewoJcmV0dXJuIGZ1bmMoYikgKyAxMDsKfQoKaW50IHRlc3QoaW50IHgpIHsKCXJldHVybiB4ICogMjsKfQoKaW50IG1haW4oKSB7CgkvLyDplqLmlbDlj4LnhafjgpLmuKHjgZfjgablrp/ooYwKCXN0ZDo6Y291dCA8PCBhZGQoJnRlc3QsIDQpIDw8IHN0ZDo6ZW5kbDsKCglyZXR1cm4gMDsKfQ==