Существует пример на cdecl , который идет (double (^)(int))foofoo означает бросить foofoo в блок (int), возвращая double .
(double (^)(int))foofoo
Что означает приведение foofoo в «блок» из int ? Что символ ^ точно означает в этом контексте. Обычно это битовый XOR.
^
Это расширение GCC, разработанное Apple и реализованное также в Clang.Блоки - это маленькие безымянные функции, и этот синтаксис является типом блока.См. Спецификация языка блокировки .