【发布时间】:2018-10-19 05:25:11
【问题描述】:
std::vector<std::set<int>> m;
m[0].insert(0);
m[0].insert(1);
std::set<int> n = m[0]; // is this allowed?
for(std::set<int>::iterator iter = n.begin(); iter < n.end(); iter++) // error in this line, "<" not defined.
我可以通过直接复制来初始化一个集合吗?最后一行有错误。
【问题讨论】:
-
尝试的时候发生了什么?有错误吗?一个警告?它只是“不起作用”(如果没有,为什么不呢)?文档(对于 std::set)说什么可能表明一种或另一种方式?
-
我想你想改用
iter!=n.end();。 -
如何循环遍历一个没有从一个向量中的容器集合中复制的集合?
-
使用
++iter而不是iter++...