没有名为';元组';在C++; 我不允许在C++中初始化元组。当我编译它时,当指向tuple时出现以下错误:没有名为“tuple”的模板。。我正在使用Mac,已经指定了我的tasks.json,如页面底部所示
代码没有名为';元组';在C++; 我不允许在C++中初始化元组。当我编译它时,当指向tuple时出现以下错误:没有名为“tuple”的模板。。我正在使用Mac,已经指定了我的tasks.json,如页面底部所示,c++,compiler-errors,stdtuple,C++,Compiler Errors,Stdtuple,代码 #include <tuple> #include <iostream> using namespace std; int main() { tuple<int,int> f; return 0; } } 编译器 % clang --version Apple clang version 11.0.3 (clang-1103.0.32.59) Target: x86_64-apple-darwin19.4.0 Thread mode
#include <tuple>
#include <iostream>
using namespace std;
int main() {
tuple<int,int> f;
return 0;
}
}
编译器
% clang --version
Apple clang version 11.0.3 (clang-1103.0.32.59)
Target: x86_64-apple-darwin19.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
基于注释,问题是使用了任务<代码> CPPPBudie/COD>代替了代码> shell > /Cuffe >,并且对于该任务,没有定义C++版本。由于使用了该编译器的默认版本,该版本不支持
元组
添加“代码> > -ST/C++ C++ 17,到<代码> ARGS<代码> >代码> CppBudio>代码>解决了这个问题。因此,将
“-std=c++17”
也添加到cppbuild
的args
,然后检查它是否工作。它工作了。谢谢
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "clang++ build active file",
"command": "/usr/bin/clang++",
"args": [
"-std=c++17",
"-stdlib=libc++",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
},
{
"type": "cppbuild",
"label": "C/C++: clang++ build active file",
"command": "/usr/bin/clang++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
]
% clang --version
Apple clang version 11.0.3 (clang-1103.0.32.59)
Target: x86_64-apple-darwin19.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin