为什么不会工作?

时间:2016-09-02 19:35:58

标签: c++ tuples

我正在尝试使用c ++类元组编写一个简单的程序但是,我可以让它工作,我尝试传递g ++ -std = gnu ++ 0x tuple.cpp编译发送回来像元组是不完整的类型,它不识别函数get()。 这是我的代码:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <tuple> 

using namespace std;

int main(void) {

tuple<int, int> tup;

get<1>(tup) = 1;
get<2>(tup) = 2;

cout << "tup1:" << get<1>(tup) << "tup2:" << get<2>(tup) << endl;


return 0;


}

1 个答案:

答案 0 :(得分:3)

  

它无法识别函数get()

这是一个编译时错误,暗示元组元素索引无效。

元组索引从0开始,因此2个元素的元组具有索引0和1。

tuple<int, int> tup;
get<2>(tup) ...; // <--- index 2 is not valid

修正:

get<0>(tup) = 1;
get<1>(tup) = 2;