首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

std:lower_bound 编译异常

2012-09-02 
std::lower_bound 编译错误itFind std::lower_bound(pPool-begin(),pPool-end(),nCode)//pPool原型:

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)

热点排行
Bad Request.