解決 VSCode 編寫 C++11 代碼報紅問題分析

問題描述

今天在寫 C++ 代碼的時候用上 C++11 的特性,然後發現 VSCode 雖然可以編譯通過,但是會在相應位置報紅,如下圖所示。

question

並且在編譯的時候遇到如下警告:

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!

推薦閱讀: