【发布时间】:2015-03-29 20:07:14
【问题描述】:
我正在尝试使用以下代码对两个集合进行交集,如果结果与空集合不同,我想将我的第一个集合插入到一组集合中。
std::set<int> set1,set2;
std::set<set<int> > result;
std::set<int> intersection;
set_intersection(set1.begin(),set1.end(),set2.begin(),set2.end(),std::back_inserter(intersection));
if(!intersection.empty()) result.insert(set1);
但是我收到以下错误:“class std::set”没有名为“push_back”的成员。问题是什么? 提前致谢。
【问题讨论】:
-
我做到了。我错过了什么吗?插入是集合的成员,我没有在任何地方使用 push_back。还是我没有以正确的方式使用插入?跟迭代器有关系吗?
-
@Andy:
back_inserter创建一个调用push_back的back_insert_iterator。