我有一个名为'order'的类,另一个名为'orderbook'。C++,有对象列表的对象:不匹配'operator =='
订单包含订单列表。我想要做的是查找订单中是否存在订单的某个值(order.security)。
为此,我创建了一个迭代器,它应该遍历整个列表以查找该值是否存在。然而,我一定在某处做错了什么,因为我得到以下g ++错误:
错误:'__first.std :: _ List_iterator < _Tp> :: operator *()=='中的'operator =='不匹配__val“|
注:该功能的arent还没有全部完成
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();
};
'order'overload'operator =='? – chris 2013-04-04 21:03:52
不,“订单簿”也没有。我会在顶部添加我的“订单”类 – msmf14 2013-04-04 21:06:03