【问题标题】:What does it mean when two voids are in a parameter name in C?当 C 中的参数名称中有两个 void 时,这是什么意思?
【发布时间】:2012-01-25 15:46:50
【问题描述】:

我有一个方法需要填写,其中一个参数是:“void (*destructor)(void*)”。谁能告诉我这是什么?

【问题讨论】:

标签: c parameters void


【解决方案1】:

这是一个Function pointer

它存储一个函数的地址,该函数将void *(指向void的指针)作为输入参数并且不返回任何参数。

【讨论】:

  • 接受一个 void* 类型的参数
  • @wildplasser:啊,这很难发现,哈哈,我错过了,谢谢
  • 嗯,它为您节省了两分钟的打字时间,并产生了(可能)45 业力点。
  • @wildplasser:你的意思是虚构的代表,幸运或不幸的是,我已经收集了足够多的人来回答收集这些人的问题。
【解决方案2】:

这是一个函数指针。给定的函数应该有签名:

void funcname(void*)

第一个 void 是返回类型,第二个是指向 void 的指针(换句话说,一个指向谁知道什么的指针,底层函数稍后可能会将其转换为一些有用的类型)。

【讨论】:

    【解决方案3】:

    void (*destructor)(void*) 是一个函数指针。这意味着,您可以使用它来指向任何函数,该函数以 void 作为返回值(不返回任何内容)并需要一个可以指向任何内容的通用指针 (void*)。

    【讨论】:

      【解决方案4】:

      它是指向一个函数的指针,该函数将void* 作为其唯一参数,并且不返回任何内容。

      【讨论】:

        猜你喜欢
        • 2012-03-11
        • 1970-01-01
        • 2013-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-26
        • 1970-01-01
        • 2021-04-03
        相关资源
        最近更新 更多