C++ 为什么g++;无法编译元组?

C++ 为什么g++;无法编译元组?,c++,C++,test.cpp:7:3:错误:使用未声明的标识符“x” x=组合(“hi”、“a”、“b”) ^ test.cpp:7:7:错误:使用未声明的标识符“make\u tuple” x=组合(“hi”、“a”、“b”) test.cpp:8:11:错误:无法引用重载函数 断然的;你想叫它吗?不能尝试#包括 可能(取决于您的gcc版本),您还需要在命令行上使用-std=c++11。尝试\include 可能(取决于您的gcc版本),您还需要在命令行上使用-std=c++11。元组很好;你想让它成为元

test.cpp:7:3:错误:使用未声明的标识符“x”

x=组合(“hi”、“a”、“b”)

^

test.cpp:7:7:错误:使用未声明的标识符“make\u tuple”

x=组合(“hi”、“a”、“b”)

test.cpp:8:11:错误:无法引用重载函数 断然的;你想叫它吗?不能尝试
#包括

可能(取决于您的gcc版本),您还需要在命令行上使用
-std=c++11

尝试
\include


可能(取决于您的gcc版本),您还需要在命令行上使用
-std=c++11

元组很好;你想让它成为元组的不是

您没有
#包括


因此,单词“string”对编译器来说毫无意义,它也不知道您希望它做什么。它甚至不能告诉你它是一个类型,所以它不能告诉你“tuple”这个词的意思是“std::tuple”。以此类推……

元组很好;你想让它成为元组的不是

您没有
#包括


因此,单词“string”对编译器来说毫无意义,它也不知道您希望它做什么。它甚至不能告诉你它是一个类型,所以它不能告诉你“tuple”这个词的意思是“std::tuple”。依此类推……

尝试添加
-std=c++11
,并在修复缺少的
#include
get(x)
中缺少的paran之后,包含
字符串。看起来您需要升级编译器。不,
不需要包含
。这是允许的,但不是必须的。谢谢,是-std=c++11完成了这个任务。不知道是否有必要尝试添加
-std=c++11
,在修复
#include
get(x)
中缺少的paran之后,还包括
字符串。看起来您需要升级编译器。不,
不需要包含
。这是允许的,但不是必须的。谢谢,是-std=c++11完成了这个任务。我不知道这是必要的
#include <iostream>
#include <tuple>
#include <string>
using namespace std;

int main(){
  tuple<string, string, string> x;
  x = make_tuple("hi", "a", "b");
  cout << get<0>(x) << endl << endl;

}
    ^
  ^