![](/img/trans.png)
[英]Assigning to 'int' from incompatible type 'int (^__strong)(void)'
[英]Assigning to 'void (*)(int, const char *, int)' from incompatible type 'void (^__strong)(int, const char *, int)'
我對Objective-C 不太熟悉,所以這可能是一個非常明顯的錯誤。
Assigning to 'void (*)(int, const char *, int)' from incompatible type 'void (^__strong)(int, const char *, int)'
我在進行此分配時遇到上述錯誤
log_cfg.cb = callback;
這是callback
的定義
void (^callback)(int, const char*, int) = ^(int level, const char* data, int len) {
...
};
錯誤消息表明log_cfg.cb
需要一個函數指針,但您log_cfg.cb
了一個塊。 一個塊不是一個函數指針,你不能輕易地混合兩者(除了在 swift 中,它更容易)。
如果您不需要值捕獲,您可以在(全局?)函數中編寫塊代碼並輸入該函數指針。 或者檢查是否有辦法將 ObjectiveC 塊包裝到函數指針中?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.