VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误



我已经将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;
}

我也做了那个教程(针对Linux(,没有这样的错误。这是我的c_cpp_properties.json文件,我想可能是因为您没有指定IntelliSense。试试我的c_cpp_properties.json:

{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4

}

这是我的设置。json:

{
"files.associations": {
"array": "cpp",
"atomic": "cpp",
"*.tcc": "cpp",
"cctype": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"deque": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"exception": "cpp",
"algorithm": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"optional": "cpp",
"string": "cpp",
"string_view": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"fstream": "cpp",
"initializer_list": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"new": "cpp",
"ostream": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"typeinfo": "cpp"
}

}

我的启动json:

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++ build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++ build active file",
"miDebuggerPath": "/usr/bin/gdb"
}
]

}

也许更改这些设置文件会有所帮助。矿山作业

最新更新