オブジェクト QActionDonald へのポインターのベクトルがあり、最高の expectedvalue_ を含むオブジェクトを見つけようとしています。operator< をオーバーロードし、 max_element メソッドを使用してイテレータを最高値に取得していますが、常に正しくない終了値を受け取ります。
QActionDonald.h:
class QActionDonald
{
public:
double expectedvalue_;
bool operator < (const QActionDonald& other) const;
};
QActionDonald.cpp:
bool QActionDonald::operator< (const QActionDonald& other) const
{
return expectedvalue_ < other.expectedvalue_;
}
その他のクラス:
std::vector<QActionDonald*> *actionList = qValueDictionary[stateKey];
std::vector<QActionDonald*>::iterator it =
std::max_element(actionList->begin(), actionList->end());