gpt4 book ai didi

c++ - 为什么编译器在我的 set_intersection 上给我一个错误?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:58:53 41 4
gpt4 key购买 nike

我有一个类有两个属性:

 set< int > ens1_;
set< int > ens2_;

现在,我有一个方法可以找到这两个集合之间的交集。这是我在我的方法中写的:

set< int > ens;
set< int >::iterator it;

it = set_intersection(ensEntier1_.begin(), ensEntier1_.end(), ensEntier2_.begin(), ensEntier2_.end(), ens.begin());
return ens;

它在 STL_algo.h 内部编译时给我一个错误,但我不知道从哪里开始更正错误

谢谢你的时间

艾蒂安

最佳答案

set_intersection 的第 5 个参数您正在调用的重载需要一个输出迭代器; ens.begin() 返回输出迭代器。试试这个:

set<int> ens;
set_intersection(
ens1_.begin(),
ens1_.end(),
ens2_.begin(),
ens2_.end(),
inserter(ens, ens.end())
);
return ens;

注意:确保你#include <iterator> .

关于c++ - 为什么编译器在我的 set_intersection 上给我一个错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5527260/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com