我有一个指向对象 QActionDonald 的指针向量,我试图找到包含最高期望值的对象。我已经重载了 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());