我得到一個警告GCC多行註釋警告
警告:多行註釋[-Wcomment]
由於評論,我有,看起來像
// strings can start with a \ and also end with a \
我明白這個錯誤,並看到了關於這個主題的其他SO消息。
我可以很容易地修復警告(通過雙引號\ s)。
我很好奇是什麼,我就小心翼翼地確保該線不末端用\。該行以\然後以空格結束。這是預處理器剝離我的尾部空間,從而引入警告?
我得到一個警告GCC多行註釋警告
警告:多行註釋[-Wcomment]
由於評論,我有,看起來像
// strings can start with a \ and also end with a \
我明白這個錯誤,並看到了關於這個主題的其他SO消息。
我可以很容易地修復警告(通過雙引號\ s)。
我很好奇是什麼,我就小心翼翼地確保該線不末端用\。該行以\然後以空格結束。這是預處理器剝離我的尾部空間,從而引入警告?
在initial processing期間,預處理器對其輸入執行一系列文本轉換。
下面是從文檔報價(相關部分是黑體):
續行合併爲一個長行。
續行是以反斜槓結尾的行。反斜槓被刪除,下一行與當前行結合。
...
上的續行的斜槓通常被稱爲反斜槓換行符。
如果反斜槓和行尾之間有空白,那仍然是續行。但是,由於這通常是編輯錯誤的結果,並且許多編譯器不會接受它作爲續行,所以GCC會警告您。
在這種情況下,它最好使用'\'
代替\
如反斜槓用作符號而不是作爲連續線指示器。另一個(主觀上較差)選項是在\
(例如一個點)之後放置一個結束非空白字符。
感謝您的鏈接和詳細信息。對於信息clang和icc做同樣的但沒有來自MSVC的警告。 –
您可以在評論末尾添加'...',或者使用'\''而不是\僅在\中 –
只需在最後添加一個字符\ – Indent
@Indent修復問題很簡單,但我想了解發生了什麼。 –