【发布时间】:2019-03-17 05:49:08
【问题描述】:
问题
我有两个排序集:
set<char, greater<char> > alp1;
set<char, greater<char> > alp;
我需要找到集差:alp-alp1:
尝试 1
set_difference(alp.begin(), alp.end(), alp1.begin(), alp1.end(), inserter(diff1, diff1.end()));
但是,只有alp1 的第一个元素会从alp 中减去。
尝试 2
itr = set_difference(alp.begin(), alp.end(), alp1.begin(), alp1.end(), diff1.begin());
for(auto it=diff.begin(); it<itr; it++)
cout<<*it;
尝试 2 错误:
no match for ‘operator<’ (operand types are ‘std::_Rb_tree_const_iterator<char>’ and ‘std::set<char>::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<char>’})
我该如何解决这个问题?
【问题讨论】: