2012-08-06 106 views
6

如何抑制警告編譯器在C++程序中生成關於未使用的變量?如何在C++中抑制有關未使用變量的警告?

我使用的G ++編譯器

+4

哪個編譯器? – Jacob 2012-08-06 23:32:45

+0

「怎麼可能?」爲什麼要這樣? – Beta 2012-08-06 23:35:32

+2

通過使用它們?如果一個變量未被使用,爲什麼你不能刪除它的定義?您可能對此有良好的答案,並且/或者該答案可能會影響最佳使用方法。 – 2012-08-06 23:35:55

回答

7

編譯-Wno-unused-variable選項。

更多信息,請參見GCC documentation on Warning Options

-Wno-__選項關閉由-W__設置的選項。在這裏,我們正在關閉-Wunused-variable

此外,您可以將__attribute__((unused))的變量(或函數等)來抑制對案件逐案審議這一警告。感謝Jesse Good提到這一點。

10

放在一個轉換爲void:

int unused; 
(void)unused; 
+0

轉換爲'void'是將變量標記爲* used *但沒有副作用的習慣用法。 +1 – 2012-08-07 03:10:34

+0

簡單易行。好一個。如果給定的變量在有條件的部分使用+1 – Neophile 2014-04-24 14:50:55

+0

特別有用(例如只用一個函數參數在某些調試日誌) – 2017-07-17 15:26:35

2

要刪除這些警告我做一個,可以在我的項目中使用:

#define UNUSED(x) (void)(x) 
+0

我 – JAM 2012-08-07 03:22:34

+0

你有任何變量使用它這不工作,或者只是定義它? – Aesthete 2012-08-07 03:28:49