设置交叉点不起作用

时间:2015-03-29 20:07:14

标签: c++ stl set

我尝试使用以下代码创建两个集合的交集,如果结果与空集合不同,我想将我的第一个集合插入到一组集合中。

    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);

但是我收到以下错误:&#39; class std :: set&#39;没有名为&#39; push_back&#39;的成员。问题是什么? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

std::back_inserter使用std::back_inserter_iterator,在容器上调用push_back()

输出为std::inserter时使用std::set

 std::set<int> set1,set2;
 std::set<int> intersection;
 std::set_intersection(set1.begin(),set1.end(),set2.begin(),set2.end(),
                       std::inserter(intersection, intersection.begin()));