【发布时间】:2019-11-10 13:30:59
【问题描述】:
我将函数传递给pthread_create 函数。我收到一条警告,抱怨作为参数传递的函数类型不兼容:
void * _Nullable (* _Nonnull)(void * _Nullable)
我通过将我的函数声明为:
void *incFunc(void *ptr){
for (long i = 0; i < COUNT; ++i) { counter++;}
return NULL;
}
,但我不太明白预期参数类型的含义:
void * _Nullable (* _Nonnull)(void * _Nullable)
- void * _Nullable == 函数的返回类型应该是指向 void 的指针
- (void * _Nullable) == 接受的参数是指向 void 的指针
- (* _Nonnull) ????这是我不明白的那个
(* _Nonnull) 代表什么?
【问题讨论】:
-
如果您尝试在那里传递空指针,可能是某些编译器扩展会导致警告。
-
你可能想用
objective-c标记问题 -
我确实在 osx 上,但警告是 C 代码