Он не возвращает const_iterator
, а тип ключа std::set<int>
равен const int
.
Помните, что ключи в std::set
являются постоянными.Вы не можете изменить ключ после того, как он вставлен в набор.Поэтому при разыменовании итератора он обязательно возвращает ссылку constant .Так что вам нужно сказать:
const int &res = *myset.begin();