无名的void指针作为参数?

时间:2016-03-13 12:46:54

标签: c++ pointers parameters

这是VirtualBox中函数的签名:

static DECLCALLBACK(void) svcCall (void *,
                                   VBOXHGCMCALLHANDLE callHandle,
                                   uint32_t u32ClientID,
                                   void *pvClient,
                                   uint32_t u32Function,
                                   uint32_t cParms,
                                   VBOXHGCMSVCPARM paParms[])

我不知道第一个参数void *应该是什么意思以及如何使用它。

它有什么用?

2 个答案:

答案 0 :(得分:1)

可能没有在该实现中使用它。保留没有名称可以避免编译器警告

unused parameter xyz

要知道这个参数意味着什么,你应该看看回调函数声明,而不是任意的实现。

答案 1 :(得分:0)

  

第一个参数,void *应该是什么意思

这意味着第一个参数的类型为void*。不给参数命名意味着该参数有意使用。

  

如何使用它

一个人没有,因为一个人无法使用

  

它有什么用?

如果您想要一个明确的答案,您应该询问VirtualBox开发人员编写它。我不是他们,但我可以猜一猜:

也许,该函数用作回调函数。并且回调被指定为具有void指针作为第一个参数。但是这个特殊的回调不需要void指针的值。

相关问题