解決 VSCode 編寫 C++11 代碼報紅問題分析
問題描述
今天在寫 C++ 代碼的時候用上 C++11 的特性,然後發現 VSCode 雖然可以編譯通過,但是會在相應位置報紅,如下圖所示。
並且在編譯的時候遇到如下警告:
C1.cpp:62:14: warning: ‘auto’ type specifier is a C++11 extension [-Wc++11-extensions]
for (auto a : vec)
問題原因:
VSCode 根據編譯參數,無法檢測 C++11 相關語法,因此出現報紅和 warning 等現象。
解決方法
可以按照如下圖步驟執行:
- 點擊下載的 C/C++ 插件中的小齒輪
- 選擇 Extension Setting 選項
- 在 Compiler Args 的選項中,點擊 Edit in setting.json
最後在彈出的 setting.json 文件中加入如下編譯參數:
{ "C_Cpp.default.compilerArgs": [ "-g", "${file}", "-std=c++11", "-o", "${fileDirname}/${fileBasenameNoExtension}" ] }
到此這篇關於解決 VSCode 編寫 C++11 代碼報紅問題的文章就介紹到這瞭,更多相關 VSCode 編寫 C++11 代碼報紅內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Vscode配置C/C++環境使用minGW(保姆級配置過程)
- 詳解VSCode下C++環境配置過程
- VsCode配置C++/Cmake的步驟詳解
- vscode 采用C++17版本進行編譯的實現
- 史上最貼心的 VS code C++ 環境配置超詳細教程