как использовать метод класса с объектами, которые находятся внутри контейнера list

учусь на c++, в классе должны быть объекты в виде билетов, а так же контейнер list для работы с ними (добавление, удаление, вывод и вывод по критериям), однако на выводе всегда выдаёт ошибку, и я не понимаю почему

#include <iostream>
#include <string>
#include <list>
#include <iterator>

using namespace std;

class Ticket {
private:
    string pn;
    string sn;
    string d;
    int n;
public:
    Ticket(string _pn = " ", int _n = 0, string _sn = " ", string _d = " ") {
        pn = _pn;
        n = _n;
        sn = _sn;
        d = _d;
    }
    void print_some(int n1, string d1) {
        if (n1 == n)
            if (d1 == d)
                cout << "Место прибытия:" << pn << "\n" << "Номер рейса:" << n << "\n" << "ФИО:" << sn << "\n" << "Дата:" << d << endl;
            else cout << "Не найдено";
    }
    void print() {
        cout << "Место прибытия:" << pn << "\n" << "Номер рейса:" << n << "\n" << "ФИО:" << sn << "\n" << "Дата:" << d << endl;
    }

    friend ostream& operator<<(ostream& cout, const Ticket& tckt);

};

ostream& operator<<(ostream& cout, const Ticket& tckt)
{
    cout << "Место прибытия:" << tckt.pn << "\n"
        << "Номер рейса:" << tckt.n << "\n"
        << "ФИО:" << tckt.sn << "\n"
        << "Дата:" << tckt.d << endl;
    return cout;
}

int main()
{
    setlocale(LC_ALL, "RUS");

    Ticket n1("Москва", 4, "А.Н.Петров", "12 декабря");
    Ticket n2("Краснодар", 6, "Е.С.Иванова", "15 января");
    Ticket n3("Владивосток", 4, "О.К.Антонов", "15 января");

    list <Ticket> Manager = { n1, n2 };
    Manager.insert(Manager.end(), n3);

    Manager.remove(n1);

    list <Ticket>::iterator it;
    for (it = Manager.begin(); it != Manager.end(); it++)
    {
        it->print();
        it->print_some(6, "15 января");
    }
}

две ошибки и обе возникают в файле list

бинарный '==' : 'const Ticket' не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору

Недопустимое условное выражение типа "void"

хотелось бы исправить так, чтобы программа хотя бы запустилась, а то я уже совсем теряюсь в догадках, что не так


Ответы (0 шт):