Это приведение типа блока, и да, синтаксис не очень хорош. Мы предполагаем, что moreBlockFun
является блоком, который не принимает параметров и возвращает что-то с разумным приведением к long long - эта сигнатура типа пишется long long (^)()
. Поэтому мы создаем новое локальное имя для этого блока с именем blockFun
с синтаксисом long long (^blockFun)()
и выполняем приведение.
Это беспорядок, в основном унаследованный от обозначения типа указателя функции, который практически каждый программист С должен искать около 482 раз, прежде чем он запомнит это. Вы не одиноки!