#include <iostream>
#include <functional>
using namespace std;
class X
{
static std::function<void()> f;
public:
template<typename T = decltype(f)>
void test(T fn = f){
fn();
}
};
std::function<void()> X:: f = []{};
int main() {
X xx;
auto l =[]{std::cout << "Hello POW" <<std::endl ;};
xx.test(l);
xx.test();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIFgKewoJc3RhdGljIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBmOwoJcHVibGljOgoJdGVtcGxhdGU8dHlwZW5hbWUgVCA9IGRlY2x0eXBlKGYpPgogICAgdm9pZCB0ZXN0KFQgZm4gPSBmKXsKICAgIGZuKCk7CiAgIH0KfTsKCnN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBYOjogZiA9IFtde307CmludCBtYWluKCkgewoJCgkKWCB4eDsKCmF1dG8gbCA9W117c3RkOjpjb3V0IDw8ICJIZWxsbyBQT1ciIDw8c3RkOjplbmRsIDt9Owp4eC50ZXN0KGwpOwp4eC50ZXN0KCk7CglyZXR1cm4gMDsKfQ==