天天看點

C++中變量前加(void)的作用前言為什麼使用void(val);?總結

前言

看C++項目的源代碼時,發現很多地方出現

void(val);

,百思不得其解,甚至還在VS裡面自己寫了一遍,發現(void)并不會改變變量類型,怎麼嘗試也不知道為什麼,書上更是沒有提及,今天看到一篇文章終于明白。

為什麼使用

void(val);

作用是避免編譯器警告。

聲明/定義了但沒使用的變量,在編譯時會生成warning。

如果項目裡是打開了-Werror選項,會将warning視為error,這樣的話無法通過編譯。

是以需要用這種方法繞過無關緊要的warning。

總結

看來實際的工程項目裡面存在很多“潛規則”哇。用void來避免未使用警告真是太聰明了。這是教科書上不會講的内容,隻有實際開發時才會遇到。

參考

  1. 變量前(void)的作用? - 諸葛不亮的回答 - 知乎

    https://www.zhihu.com/question/67831689/answer/256930061

繼續閱讀