您的位置:首页 > 运维架构

invalid operator <

2016-01-14 14:00 344 查看
invalid operator <

flyfish 2016-1-14

错误在调用std::sort函数

解决方案

如果是==判断,则返回的应该是false,返回ture就是错误的

microsoft的说明

出现错误的代码

bool CustPredicate (int elem1, int elem2 )
{
if(elem1 > elem2)
return true;

if (elem1 < elem2)
return false;
return true;
}


两个方案 任选其一

First Option:

bool CustPredicate (int elem1, int elem2 )
{
if(elem1 > elem2)
return true;

if (elem1 < elem2)
return false;

return false; //Should return false if both the vaules are same
}

Second Option:
bool CustPredicate (int elem1, int elem2 )
{
return elem1 > elem2;
}


Effective STL的第21条 总是让比较函数在等值情况下返回false
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: