Я новичок в программировании и я пытаюсь найти элемент в списке класса, и я сделал это:перегрузка оператора == сравнения 2 класс
string x;
cin >> x;
list<Person>::iterator findIter = std::find(ListPerson.begin(), ListPerson.end(), x);
, но кажется, что я должен перегружать оператор ==, чтобы работать, я сделал это:
friend bool operator== (Person &P1, Person &P2);
bool operator== (Person& P1, Person& P2)
{
return (P1.Name == P2.Name);
}
, но он не работает, я всегда получил эту ошибку: c2678 двоичную «==» ни один оператор не найден, который принимает левого операнда типа лица. Спасибо за помощь!
Какой тип 'x'? Что бы это ни было, вам нужно иметь оператор ==, который принимает «Лицо» как lhs, а тип 'x' как rhs – sp2danny
ah извините, это строка, большое спасибо: D похоже, что она работает – Smiith