含义:void * _Nullable(* _Nonnull)(void * _Nullable)

我正在将函数传递给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)代表什么?

min9884 回答:含义:void * _Nullable(* _Nonnull)(void * _Nullable)

这意味着:

它必须不是带有void *参数的NULL函数指针,该参数可以为NULL并返回void *。返回值可以为NULL。

本文链接:https://www.f2er.com/3129077.html

大家都在问