作为参数的无名称空指针
Nameless void pointer as parameter?
这是VirtualBox中函数的签名:
static DECLCALLBACK(void) svcCall (void *,
VBOXHGCMCALLHANDLE callHandle,
uint32_t u32ClientID,
void *pvClient,
uint32_t u32Function,
uint32_t cParms,
VBOXHGCMSVCPARM paParms[])
我不知道第一个参数,void *
应该是什么意思,以及如何使用它。
它有什么用?
它可能没有在该实现中使用。不带名称可避免编译器警告
unused parameter xyz
要了解此参数的含义,您应该查看回调函数声明,而不是任意实现。
第一个参数 void * 应该是什么意思
这意味着第一个参数的类型为 void*
。不为参数命名意味着故意未使用该参数。
如何使用它
一个没有,以防万一不能使用它。
它有什么用?
如果你想要一个明确的答案,你应该问写它的VirtualBox开发人员。我不是他们,但我可以给你一个猜测:
也许,该函数用作回调。并且回调被指定为将 void 指针作为第一个参数。但是这个特定的回调不需要 void 指针的值。
相关文章:
- 为什么会出现 gettnig 运行时错误:加载类型为"_Bit_type"(stl_bvector.h) 的空指针?
- 运行时错误:引用绑定到类型为"int"的空指针
- 这个失败的测试是将零添加到空指针未定义的行为、编译器错误还是其他什么?
- 为什么我在空指针错误(链表)中获取成员访问权限
- 从向量到空指针的 memcpy(反之亦然)不起作用
- 空指针常量 (nullptr)、空指针值和空成员指针值之间有什么区别?
- 成员访问是否在空指针上定义C++?
- 尝试将对象插入空指针数组时出现分段错误
- 为什么我们需要在 C++ 中检查空指针,而在 Java 中不需要?
- 是否允许向空指针添加零?
- 为什么 C 样式字符串的工作空指针检查不?
- 在函数内初始化无符号字符指针将返回空指针
- 为什么多维数组中的空字符串文本衰减为空指针?
- C++ 取消引用指向矢量的空指针时的分段错误
- 错误 C6011:取消引用空指针"NAME"。C++
- cppcheck取消引用空指针
- 打印空指针时,std::cout 可以打印 "NULL" 而不是 0 吗?
- 递增空指针无法正确设置值
- Qt - 将空指针(原始数据)转换为 QImage 并将其显示在标签上
- 将多映射转换为空指针,然后转换回多映射