8

我在阅读 pugixml 源代码时看到了它,但我真的不知道它为什么在那里。

void foo(void* ptr) {
    (void)!ptr;  // What does this line do?
}
4

1 回答 1

9

(void)ptr;是抑制“未使用参数”警告的常用方法,当函数签名需要包含比函数使用的更多参数时(例如,在回调中,如果未使用“用户数据”参数),这可能是必要的。

!对我来说是新的,尽管在这种情况下它是多余的,因为返回值只是被丢弃了。

于 2013-04-16T01:48:44.937 回答