这里为什么会报错?

狂砍八条街 2011-04-04 04:05:32

multiset<int,greater<int> >::key_compare kc=c2.key_comp();


报错如下:
error C2440: 'initializing' : cannot convert from 'struct std::less<int>' to 'struct std::greater<int>'
No constructor could take the source type, or constructor overload resolution was ambiguous
...全文
137 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
facat 2011-04-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hqin6 的回复:]

引用 4 楼 vipvipvipvipvip 的回复:

引用 2 楼 blackstar8888 的回复:
multiset<int,less<int> > c2; ——> multiset<int,greater<int> > c2;


个人感觉,默认就是less<int>。
就是说multiset<int,less<int> > c2;跟 multiset<int> c2;……
[/Quote]
检查一下,问题很可能出现在这里。
狂砍八条街 2011-04-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 qq120848369 的回复:]
楼主在梦游,你的c2是map<int,less<int>>,你觉得返回的结果能匹配么。
[/Quote]

你怎么知道c2是set<int,less<int>>?
不过c2是这样定义的

//construct from a range
std::multiset<int> c2(ai,ai+8);


你说的返回结果是指什么???

非常感谢你的回复
qq120848369 2011-04-05
  • 打赏
  • 举报
回复
#include <iostream>
#include <set>
using namespace std;

int main()
{
multiset< int,greater<int> > c2;
multiset< int,greater<int> >::key_compare kc=c2.key_comp();

return 0;
}


说错,是set.
qq120848369 2011-04-05
  • 打赏
  • 举报
回复
楼主在梦游,你的c2是map<int,less<int>>,你觉得返回的结果能匹配么。
太乙 2011-04-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 vipvipvipvipvip 的回复:]

引用 2 楼 blackstar8888 的回复:
multiset<int,less<int> > c2; ——> multiset<int,greater<int> > c2;


个人感觉,默认就是less<int>。
就是说multiset<int,less<int> > c2;跟 multiset<int> c2;效果一样

我用greater为什么不行呢?
[/Quote]c2什么类型???
是multiset<int, greater<int> >么?
狂砍八条街 2011-04-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 blackstar8888 的回复:]
multiset<int,less<int> > c2; ——> multiset<int,greater<int> > c2;
[/Quote]

个人感觉,默认就是less<int>。
就是说multiset<int,less<int> > c2;跟 multiset<int> c2;效果一样

我用greater为什么不行呢?
狂砍八条街 2011-04-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pathuang68 的回复:]
重新定义一个比较器,或者换一个比较器
[/Quote]
为什么要换一个?都是比较,为什么要换呢?
blackstar8888 2011-04-04
  • 打赏
  • 举报
回复
multiset<int,less<int> > c2; ——> multiset<int,greater<int> > c2;
pathuang68 2011-04-04
  • 打赏
  • 举报
回复
重新定义一个比较器,或者换一个比较器

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧