Visual Studio Code c++11 扩展警告

2021-12-17 00:00:00 visual-studio-code macos c++

我正在学习 C++,我正在使用适用于 Mac 的 Visual Studio 代码.我使用 Code Runner 运行我的程序.我的问题是,当我使用 C++11 中的auto"等变量声明时,visual studio 代码会给我这样的警告,但如果我尝试在 Xcode 或 Eclipse 上运行它,则不会:

I am in the process of learning c++ and I'm using visual studio code for Mac. I use Code Runner to run my program. My problem is that when I use something from c++11 like "auto" for variable declaration, visual studio code gives me a warning like this, but if I try running it on Xcode or Eclipse it doesn't:

warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
for(auto y: nstrVec)

这是必要的程序:

#include <iostream>
#include <cstdlib>
#include <string>
#include <vector>
#include <numeric>
#include <sstream>

int main(){

std::vector<std::string> nstrVec(10);

std::string str("I'm a string");
nstrVec[0] = str;

std::cout << str.at(0) << "
";
std::cout << str.front() << " " << str.back() << "
";
std::cout << "Length " << str.length() << "
";
// copies all characters after the fourth 
std::string str2(str, 4);

for(auto y: nstrVec)
    if(y != "")
        std::cout << y << "
";

return 0;
}

这是 c_cpp_proprerties.json 文件:

And this is the c_cpp_proprerties.json file:

{
"configurations": [
    {
        "name": "Mac",
        "includePath": [
            "${workspaceFolder}/**",
                 "/System/Library/Frameworks/Kernel.framework/Versions/A/Headers"
        ],
        "defines": [],
        "macFrameworkPath": [
            "/System/Library/Frameworks",
            "/Library/Frameworks"
        ],
        "compilerPath": "/usr/bin/clang",
        "cStandard": "c11",
        "cppStandard": "c++17",
        "intelliSenseMode": "clang-x64"
    }
],
"version": 4
}

推荐答案

在 VS Code 中:

In VS Code:

文件>>首选项>>设置>>扩展

File>>Preference>>Settings>>Extensions

find C_Cpp>默认:Cpp 标准下拉菜单

find C_Cpp>Default:Cpp Standard drop down menu

将其设置为 c++11

set that to c++11

相关文章