std::set
итераторы не являются итераторами с произвольным доступом, поэтому они не менее сопоставимы.
Тип, который вы используете в качестве ключа в std::map
, должен иметь возможность сортировки с использованием строгий слабый порядок .По умолчанию std::map
использует <
для заказа ключей.Вы можете изменить это поведение, предоставив компаратор при определении типа std::map
.Возможно, вы захотите выполнить некоторое реляционное сравнение, используя объект, на который указывает итератор.