【发布时间】:2017-02-17 07:48:25
【问题描述】:
我有以下结构用于比较 Rect 对象的..
struct rectcomp {
bool operator() (const Rect& lhs, const Rect& rhs) const{
return lhs.size.width<rhs.size.width;
}
};
我有以下设置我希望存储我的 Rect 的地方
std::set<Rect,rectcomp> _availableRects;
我用下面的代码插入它;
void insertPairOfRects(const Rect rect1,const Rect rect2){
_availableRects.insert(rect1); //first line
_availableRects.insert(rect2); //second line
}
问题是,rect1 总是被插入,但 rect2 没有。当我单步执行调试器时,在函数 insertPairOfRects 的第一行之后,我可以清楚地看到 insertPairOfRects 中对象数量的增加......但是第二个我不能。
我犯了什么错误?
编辑:我怀疑这是因为我的比较器功能有误。我以前从来没有为一个系列写过一个,所以我想这可能是一个根本的误解......
【问题讨论】: