我有一个名为“订单”的课程,还有一个名为“订单簿”的课程。
订单簿包含订单列表。我想做的是查找订单簿中是否已经存在某个订单值(order.security)。
为此,我创建了一个迭代器,它应该循环遍历列表以查找该值是否存在。但是我一定在某处做错了,因为我收到以下 g++ 错误:
错误:'__first.std::_List_iterator<_Tp>::operator*() == __val'中的'operator=='不匹配|
注意:功能尚未完成
void matchOrder(order &orderEntry, orderbook &genericBook);
void fillBook(order &orderEntry, orderbook &bookBUY, orderbook &bookSELL)
{
if (orderEntry.side == "S")
{
//Check if any buy can be fulfilled
matchOrder(orderEntry, bookSELL);
}
}
void matchOrder(order &orderEntry, orderbook &genericBook)
{
//scan book, if find a matching SECURITY, check order type and quantity (and price)
list<order>::iterator pos;
pos = find (genericBook.myList.begin(), genericBook.myList.end(), orderEntry);
if (pos != genericBook.myList.end())
cout << "\n\n FOUND ONE!!!!!";
}
供参考,以下是我的订单类:
class order{
public:
void getOrderData(int j, DATA fullData);
string security;
string type;
int quantity;
double price;
string name;
string side;
};
和我的订单簿类:
class orderbook
{
public:
list<order> myList;
list<order>::iterator it;
void printItOut();
};