0
私は次のコードでそれを挿入し、私は私が私のRectの私のオブジェクトがstd :: setに挿入されないのはなぜですか?
std::set<Rect,rectcomp> _availableRects;
を保存したい、次のセットを持っているのRectオブジェクトの..
struct rectcomp {
bool operator() (const Rect& lhs, const Rect& rhs) const{
return lhs.size.width<rhs.size.width;
}
};
を比較するため、以下の構造体を持っています。
void insertPairOfRects(const Rect rect1,const Rect rect2){
_availableRects.insert(rect1); //first line
_availableRects.insert(rect2); //second line
}
問題は、rect1は常に挿入されますが、rect2は挿入されません。デバッガをステップ実行すると、関数insertPairOfRectsの最初の行の後に、insertPairOfRectsのオブジェクト数の増加がはっきりとわかりますが、2番目の場合はできません。
私は間違いをしていますか?
EDIT:私のコンパレータ機能で間違いがあると思われます。私はセットの前に書かなかったので、おそらくここでは基本的な誤解であると想像しています...
はい、それが問題でした。あなたは正しいです。私は7分であなたの答えを受け入れることができます.. –