免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3385 | 回复: 0
打印 上一主题 下一主题

关于C++编译的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-09 12:54 |只看该作者 |倒序浏览
各位大侠帮我看下吧\r\n\r\n编译显示如下:\r\n\"test.cpp\", line 56: Error: Could not find a match for std::list<Element, std::allocator<Element>>::sort(CompA).\r\n\"test.cpp\", line 57: Error: Could not find a match for std::list<Element, std::allocator<Element>>::sort(CompB).\r\n\r\n编译环境是CC,Forte C++ 6 update 2\r\n\r\n代码如下:\r\n\r\n#include <list>\r\n\r\nusing namespace std;\r\n\r\nclass Element\r\n{\r\npublic:\r\n    Element(int x, int y) : a(x), b(y)\r\n    {\r\n    }\r\n    ~Element() {}\r\n\r\n    getA() const\r\n    {\r\n        return a;\r\n    }\r\n    \r\n    getB() const\r\n    {\r\n        return b;\r\n    }\r\n\r\nprivate:\r\n    int a;\r\n    int b;\r\n};\r\n\r\nclass CompA\r\n{\r\npublic:\r\n    operator()(const Element& x, const Element& y)\r\n    {\r\n        return (x.getA() < y.getA());\r\n    }\r\n};\r\n\r\nclass CompB\r\n{\r\npublic:\r\n    operator()(const Element& x, const Element& y)\r\n    {\r\n        return (x.getB() < y.getB());\r\n    }\r\n};\r\n\r\nint main()\r\n{\r\n    list<Element> listE;\r\n    Element obj1(1,2);\r\n    Element obj2(2,1);\r\n    \r\n    listE.push_back(obj1);\r\n    listE.push_back(obj2);\r\n\r\n    listE.sort(CompA());\r\n    listE.sort(CompB());\r\n    \r\n    listE.clear();\r\n    \r\n    return 0;\r\n}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP