2
#define SUPPRESS(w) _Pragma("GCC diagnostic ignored " ## w)
SUPPRESS("-Wuseless-cast")
int main() {
int a = (int)4;
return a;
}
這裏的錯誤:
error: pasting ""GCC diagnostic ignored "" and ""-Wuseless-cast"" does not give a valid preprocessing token
我怎樣才能得到它的工作?
根據[翻譯階段](http://en.cppreference.com/w/cpp/language/translation_phases)處理'_Pragma'指令,您可能可能依賴標準連續字符串級聯。這意味着如果你有兩個字符串常量,它們之間只有空格(或註釋),那麼它們將自動連接成一個字符串。如果是這樣,那麼你不需要預處理器連接運算符。你可能想嘗試一下。 –
@Someprogrammerdude喜歡'''_Pragma(「忽略GCC診斷」w)'''?不起作用。您也可以嘗試使用我提供的在線編譯器鏈接。 – onqtam