假设我有一个需要一个块的函数:
void foo(Foo (^block)(Bar));
并说我有一个具有相同签名的函数,除了不是一个块:
Foo myFunction(Bar);
我可以做这个:
foo(^(Bar bar) { return myFunction(bar); });
但我宁愿这样做,如果它有效,那将是等效的:
foo(&myFunction);
如果我尝试,XCode 会说:
No matching function for call to 'foo'
块是带有一些上下文的函数指针,因此在那个级别上,希望将普通函数指针用作具有空上下文的块似乎是合理的。可能吗?