参数是引用的有关问题

参数是引用的问题class DNA{public:string sint pos}sort(dna, dna+m, cmp2)cmp2定义如下:bool cmp2(c

参数是引用的问题
class DNA
{
public:
string s;
int pos;
};
sort(dna, dna+m, cmp2);
cmp2定义如下:
bool cmp2(const DNA d1,const DNA d2)
{
return d1.pos < d2.pos;
}
如果参数改成引用传递就不对,
bool cmp2(const DNA & d1,const DNA & d2)
{
return d1.pos < d2.pos;
}
这是为什么?引用传递在这里唯一的功能不就是加快速度吗?为何报错?
[解决办法]

引用:
引用:不知是何原因,楼主还是把相关代码贴全了。
代码见楼上,谢啦

试了一下,没什么区别.. 
[解决办法]
引用
bool cmp2(const DNA & d1,const DNA & d2)
 {
 return d1.pos < d2.pos;
 }
没错。