我想有两个包含std::tuple<IteratorOfOtherList, T>
之类的元素的列表。有可能吗?
类似的东西:
#include <tuple>
#include <list>
class Foo { };
class Bar { };
class List2Iter;
typedef std::list<std::tuple<List2Iter, Foo>> List1;
typedef std::list<std::tuple<List1::iterator, Bar>> List2;
typedef List2::iterator List2Iter;
int main() {
List1 list1{};
List2 list2{};
return 0;
}
显然,它不是在编译,因为std :: tuple需要完整的类型。
有没有解决方法?