3

我正在阅读一些源代码,结果出现了;

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 强制转换指针甚至没有分配给变量。我想知道这样做的目的是什么。

4

2 回答 2

5

data此强制转换抑制了如果不使用会出现的编译器警告。

如果启用了-Wunused-parameter标志(由 暗示),则GCC 会产生此警告。-Wextra

于 2012-05-26T16:29:16.310 回答
0

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

于 2015-08-18T13:27:01.213 回答