有一些c++代码
struct data {
/* some fields */
};
typedef struct data * pData;
int function(pData pointer) {
if(pointer == NULL)
return ERROR;
(void)pointer;
/* other work */
}
“(void)pointer”是什么意思?
仅供引用,结构中有一些 int/char*/etc,一些用作回调函数的函数指针。
最佳答案
它用于规避未使用变量警告。
如果您确实使用了该变量,则它是空操作。
大多数未使用的变量是参数,它们是实现回调函数签名所必需的,但在您的实际实现中不需要。
对比
- unused parameter warnings in C code
- GCC manual :
-Wunused-variable
(也由-Wall
启用)。
更新:
只是因为没有另外提及:变量的类型可能是任何类型。它不限于指针类型。
关于c++ - "(void)pointer;"在 C++ 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15528163/