Хотя вы можете просто передать 0
/ NULL
в качестве аргумента контекста, dispatch_async_f()
принимает void (*)(void*)
в качестве параметра функции, но вы не можете передать ему функцию, которая не принимает аргументов.
Вам нужно либо изменить свою функцию, чтобы получить параметр void*
:
void func(void*) {}
... или, если вы не можете, обернуть его:
void orig(void) {}
void wrapper(void*) { orig(); }
// ...
dispatch_async_f(queue, 0, &wrapper);