std:lower_bound 编译异常
std::lower_bound 编译错误
itFind = std::lower_bound(pPool->begin(),pPool->end(),nCode);
// pPool原型: VECCODEINFO* pPool = NULL;
//VECCODEINFO原型为: typedef std::vector<SCODEINFO> VECCODEINFO;
SCODEINFO源码很多,我截取了部分与<相关的函数
struct SCODEINFO
{
bool operator <(const SCODEINFO &obj)
{
return nCodeNumb < obj.nCodeNumb;
}
bool operator <(int nCode)
{
return nCodeNumb < nCode;
}
};
------解决方案--------------------
成员函数的:
bool operator <(const SCODEINFO &obj)
等价于全局函数的:
bool operator<(SCODEINFO &ob, const SCODEINFO &obj)
成员函数的:
bool operator <(const SCODEINFO &obj) const
才等价于全局函数的:
bool operator<(const SCODEINFO &ob, const SCODEINFO &obj)
itFind = std::lower_bound(pPool->begin(),pPool->end(),nCode);
// pPool原型: VECCODEINFO* pPool = NULL;
//VECCODEINFO原型为: typedef std::vector<SCODEINFO> VECCODEINFO;
SCODEINFO源码很多,我截取了部分与<相关的函数
struct SCODEINFO
{
bool operator <(const SCODEINFO &obj)
{
return nCodeNumb < obj.nCodeNumb;
}
bool operator <(int nCode)
{
return nCodeNumb < nCode;
}
};
------解决方案--------------------
成员函数的:
bool operator <(const SCODEINFO &obj)
等价于全局函数的:
bool operator<(SCODEINFO &ob, const SCODEINFO &obj)
成员函数的:
bool operator <(const SCODEINFO &obj) const
才等价于全局函数的:
bool operator<(const SCODEINFO &ob, const SCODEINFO &obj)