#include <functional>
#include <iostream>
typedef std::function<void(int)> fp_t;
void bar(int) {}
void baz(fp_t fp)
{
if (fp != nullptr)
{
std::cout << "true \n";
fp(0);
}
else
{
std::cout << "false \n";
}
}
int main()
{
bool foo = false;
baz(foo ? &bar : nullptr);
}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnR5cGVkZWYgc3RkOjpmdW5jdGlvbjx2b2lkKGludCk+IGZwX3Q7Cgp2b2lkIGJhcihpbnQpIHt9Cgp2b2lkIGJheihmcF90IGZwKQp7CiAgICBpZiAoZnAgIT0gbnVsbHB0cikKICAgIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgInRydWUgXG4iOwogICAgICAgIGZwKDApOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHN0ZDo6Y291dCA8PCAiZmFsc2UgXG4iOwogICAgfQp9CgppbnQgbWFpbigpCnsKICAgIGJvb2wgZm9vID0gZmFsc2U7CiAgICBiYXooZm9vID8gJmJhciA6IG51bGxwdHIpOwp9