Qt: error: C2001: 常量中有換行符


這里簡單記錄在使用Qt Creator時遇到的一個問題:


如下一行代碼,沒有任何問題,但編譯運行時會報錯。

label->setText("label:我是一個窗口");

當使用中文時,可能會習慣性的使用QObject::tr()函數

label->setText(QObject::tr("label:我是一個窗口"));

同樣代碼沒有問題,但是Qt Creator依舊會報錯,錯誤內容如下:

warning: C4819: 該文件包含不能在當前代碼頁(936)中表示的字符。請將該文件保存為 Unicode 格式以防止數據丟失

error: C2001: 常量中有換行符

error: C2146: 語法錯誤: 缺少“)”(在標識符“label”的前面)

error: C2146: 語法錯誤: 缺少“;”(在標識符“label”的前面)


解決方案:

只要在末尾加一個空格,讓最后一個中文漢字與雙引號隔開,這樣便不會再報錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM