有一些c ++代码
struct data {
/* some fields */
};
typedef struct data * pData;
int function(pData pointer) {
if(pointer == NULL)
return ERROR;
(void)pointer;
/* other work */
}
Run Code Online (Sandbox Code Playgroud)
"(void)指针"是什么意思?
仅供参考,有一些int/char*/etc,一些函数指针在结构中用作回调函数.
kay*_*kay 10
它用于规避未使用的变量警告.
如果你确实使用了这个变量,那就是无操作.
大多数未使用的变量是参数,它们是实现回调函数签名所必需的,但在实际实现中不需要.
参看
-Wunused-variable启用-Wall).仅仅因为没有提到它:变量的类型可能是任何东西.它不受指针类型的限制.
这并不意味着很多.
它计算表达式pointer,然后通过将其转换为显式忽略它void.
有时,当您试图说服编译器不要警告未使用的参数时,您会看到此构造,但在您的代码中,该参数已被使用,因为它正在被NULL检查.