我正在尝试使用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;
}
答案 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;