У меня есть класс под названием 'order', а другой - 'orderbook'.C++, Object со списком объектов: нет соответствия для 'operator =='
Книга заказов содержит список заказов. То, что я хотел бы сделать, это найти, существует ли определенное значение порядка (order.security) уже в книге заказов.
Для этого я создал итератор, который должен перебирать список, чтобы определить, существует ли это значение. Однако я должен что-то делать неправильно, так как получаю следующую ошибку g ++:
ошибка: нет соответствия для 'operator ==' in '__first.std :: _ List_iterator < _Tp> :: operator *() == __val '|
Примечание: функции Арент полный пока
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();
};
Выполняет '' порядок 'overload' operator =='? – chris
Нет, также 'orderbook'. Я добавлю класс 'order' сверху – msmf14