这个问题在这里已有答案:

我在阅读pugixml源代码时看到它,我真的不知道为什么会这样。

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

===============>>#1 票数:9 已采纳

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

! 对我来说是新的,虽然在这种情况下它是多余的,因为返回值只是被扔掉了。

  ask by translate from so

未解决问题?本站智能推荐: