Я хочу объявить такую функцию:
template <typename Lambda>
int foo(Lambda bar) {
if(/* check bar is null lambda */)
return -1;
else
return bar(3);
}
int main() {
std::cout << foo([](int a)->int{return a + 3;}) << std::endl;
std::cout << foo(NULL_LAMBDA) << std::endl;
}
Затем, как я могу объявить NULL_LAMBDA
, а проверка условия передала лямбда-функцию, является ли она нулевой?