Из того, что я нашел в Интернете, он передается в качестве третьего аргумента, но по какой-то причине я получаю сообщение об ошибке всякий раз, когда пытаюсь использовать функция, которая принимает карту в качестве аргумента.
Это мой компаратор:
Код: Выделить всё
class ReaderComparator {
public:
bool operator()(const Reader& reader1, const Reader& reader2) const {
if (reader1.getSurname() != reader2.getSurname()) {
return reader1.getSurname() < reader2.getSurname();
}
return reader1.getName() < reader2.getName();
}
};
Код: Выделить всё
map readers;
Код: Выделить всё
void show(const map& readers) {
for (const auto& readerPair : readers) {
readerPair.second->print();
}
}
Хотя я не верю это возможно, потому что там также сказано, что оба объявлены в одной строке.
Мое понимание темы ошибочно? Буду очень признателен за любую помощь.
Я пытался искать решения в Интернете и обращаться к искусственному интеллекту, но оба оказались бесполезны.
Подробнее здесь: https://stackoverflow.com/questions/785 ... understood