假设我有一个需要一个块的函数:
void foo(Foo (^block)(Bar));
假设我有一个与该函数具有相同签名的函数,只不过它不是一个块:
Foo myFunction(Bar);
我可以做到这一点:
foo(^(Bar bar) { return myFunction(bar); });
但是如果这个方法可行的话,我更愿意使用以下方式:
foo(&myFunction);
如果我尝试这样做,XCode会提示:
No matching function for call to 'foo'
块是一个函数指针和一些上下文的组合,因此在这个层面上,使用一个空上下文的纯函数指针作为块似乎是合理的。这是否可行?