【发布时间】:2016-09-02 19:35:58
【问题描述】:
我正在尝试使用 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;
}
【问题讨论】:
-
就像 C++ 中的其他一切都使用基于 0 的索引一样,您的元组有 2 个元素(idxs 0 和 1,not 1 和 2)
-
始终粘贴完整的错误消息。
-
"c++ 类元组" --
tuple不是一个类;这是一个模板。两者本质上是不同的,如果你混淆了它们的含义,你将遭受无穷无尽的痛苦。