2 yingjiepan110 yingjiepan110 于 2014.03.11 17:01 提问

c++ sort() 比较函数重载问题

我用sort()函数排序
class A {
public:
int a;
bool operator<(A aa) const
{
if (a < aa.a) {
return true;
}
return false;
}
bool operator<(const A &aa) const
{
if (a < aa.a) {
return true;
}
return false;
}

};
这俩个版本的重载,为什么sort只支持第一种。

2个回答

oyljerry
oyljerry   Ds   Rxr 2015.01.11 15:39

可以查看sort的参数中的函数原型

u200812705
u200812705   2014.03.11 20:50

你这说的重载函数实质上一样的,一个是传形参,一个是传递变量的引用,你在调用的时候两种方式写法上没有区别,只是系统在内存的操作上有区别。如果可以看看你是怎么调用的,我觉得你把引用和取地址操作符的用法搞混了。
下面是一个地址解释了什么是引用,什么是取地址操作
http://blog.csdn.net/syfly007/article/details/11486543

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!