无效铸造有什么作用?

时间:2012-05-26 16:22:14

标签: c casting void

我正在阅读一些源代码,这就出现了;

struct Cookie *
Curl_cookie_add(struct SessionHandle *data, /* rest of params were here */)
{
/* unrelated things were here */
#ifdef CURL_DISABLE_VERBOSE_STRINGS
  (void)data;
#endif
/* rest of function goes here */
}

如您所见,void casted指针,甚至没有赋值给变量。我想知道这是什么目的。

2 个答案:

答案 0 :(得分:4)

此转换会抑制在未使用data时出现的编译器警告。

如果启用了-Wunused-parameter标记(由-Wextra隐含),GCC会发出此警告。

答案 1 :(得分:0)

公平的点Joey - 但是在程序员意外没有使用参数的所有情况下,抑制该警告也会抑制它...