我已将我的 vscode 配置为在 Linux 上使用 c++。最近想写一个新的cpp程序,跟着MS VScode的教程,但是我把代码复制到VScode的时候,有一个红色的下划线,提示是这样 的:错误
但是,我可以构建它,甚至可以正确运行它而不会出错:运行构建任务 在终端中运行它
当我调试它时,会发生错误。
{
"resource": "/home/aqachun/Documents/Projects/cpp/vscodeTest/helloworld.cpp",
"owner": "C/C++",
"severity": 8,
"message": "no instance of constructor \"std::vector<_Tp, _Alloc>::vector [with _Tp=std::string, _Alloc=std::allocator<std::string>]\" matches the argument list -- argument types are: (const char [6], const char [4], const char [6], const char [5], const char [8], const char [23])",
"startLineNumber": 9,
"startColumn": 24,
"endLineNumber": 9,
"endColumn": 24
}
这是我的 c_cpp_properties.json:
{
"configurations": [
{
"name": "Linux",
"defines": [],
"compilerPath": "/usr/bin/gcc",
"includePath": [
"${default}",
"/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0",
"/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/x86_64-pc-linux-gnu",
"/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/backward",
"/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include",
"/usr/local/include",
"/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed",
"/usr/include"
],
"cppStandard": "c++17",
"cStandard": "c11"
}
],
"version": 4
}
和我的代码:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}