设置交叉口不起作用

Set intersection not working

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

    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' 的成员。问题是什么? 提前致谢。

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

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

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