【发布时间】:2011-11-18 22:18:42
【问题描述】:
可能重复:
Weird use of void
我正在阅读 C 代码并遇到以下内容。有人可以解释一下这是做什么的吗?
static int do_spawn(const char *filename)
{
(void)filename;
// todo: fill this in
return -1;
}
具体来说,(空)文件名是做什么的?
【问题讨论】:
可能重复:
Weird use of void
我正在阅读 C 代码并遇到以下内容。有人可以解释一下这是做什么的吗?
static int do_spawn(const char *filename)
{
(void)filename;
// todo: fill this in
return -1;
}
具体来说,(空)文件名是做什么的?
【问题讨论】:
编译器有时会抱怨未使用的参数; (void) "cast" 只是一种在 void、无副作用的上下文中使用变量的方法,这样编译器就不会抱怨它“未使用”。
编辑:正如 rodrigo 在下面指出的那样,编译器警告可以在没有 (void) 前缀的情况下被抑制,但随后可能会出现另一个警告(关于表达式无效)。所以(void)filename 是您可以防止这两个警告的方法。
【讨论】:
void。但是没有它,有时会出现另一个关于“表达无效”的警告。 (void) 避免了这种情况。
gcc -Wall -Wextra 警告unused parameter ‘filename’。
它阻止了关于未使用参数的警告,仅此而已。
【讨论】: