Я хочу создать CGDisplayStream
с функцией CGDisplayStreamCreateWithDispatchQueue
c, которая ожидает CGDisplayStreamFrameAvailableHandler
в качестве параметра. CGDisplayStreamFrameAvailableHandler
- это объективный блок c. Я пытался использовать C ++ лямбда, но это не работает:
No viable conversion from '(lambda at ###RECTRACTED###)' to 'CGDisplayStreamFrameAvailableHandler' (aka 'void (^)(CGDisplayStreamFrameStatus, uint64_t, IOSurfaceRef _Nullable, CGDisplayStreamUpdateRef _Nullable)')
Я нашел: Objective- C Блоки в C, но на самом деле это не так справка, так как они не объяснили, что необходимо для создания объективного блока c в обычном c или c ++.
Как создать действительный объект, который я могу передать в CGDisplayStreamCreateWithDispatchQueue?