可能重复:
Weird use of void
我正在阅读C代码并遇到以下情况。有人可以解释一下它的作用吗?
static int do_spawn(const char *filename)
{
(void)filename;
// todo: fill this in
return -1;
}
具体来说,(void)文件名在做什么?
答案 0 :(得分:8)
编译器有时会抱怨未使用的参数; (void)
“cast”只是在void,non-side-effect上下文中使用变量的一种方式,这样编译器就不会抱怨它是“未使用”。
编辑:正如rodrigo指出的那样,可以在没有(void)
前缀的情况下抑制编译器警告,但是可能会出现另一个警告(关于表达式无效)。所以(void)filename
就是如何防止这两种警告。
答案 1 :(得分:3)
它阻止了对未使用参数的警告,仅此而已。