Компаратор C++ не работает, насколько я понял [закрыто]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Компаратор C++ не работает, насколько я понял [закрыто]

Сообщение Anonymous »

Я пытался узнать о компараторах C++, если быть точным, в картах.
Из того, что я нашел в Интернете, он передается в качестве третьего аргумента, но по какой-то причине я получаю сообщение об ошибке всякий раз, когда пытаюсь использовать функция, которая принимает карту в качестве аргумента.
Это мой компаратор:

Код: Выделить всё

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();
}
}
Я получаю ошибку E0308: более одной записи переопределенной функции «show» соответствует списку аргументов.
Хотя я не верю это возможно, потому что там также сказано, что оба объявлены в одной строке.
Мое понимание темы ошибочно? Буду очень признателен за любую помощь.
Я пытался искать решения в Интернете и обращаться к искусственному интеллекту, но оба оказались бесполезны.

Подробнее здесь: https://stackoverflow.com/questions/785 ... understood
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»