Задать вопрос
@Xtone

Как присвоить пару?

Объясните мне почему вот это не компилируется?

pair<const string, int> p1("x", 123);
pair<const string, int> p2("y", 321);
p1 = p2;


Говорит что-то про удаленный оператор присвоения. Не понимаю что не так... Самое интересное что если строки не константны - то все работает.
  • Вопрос задан
  • 97 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 2
Ваше присваивание выполняет p1.first = p2.first и p1.second = p2.second. Но вы запретили присваивать в p1.first, объявив его как const.
Ответ написан
Комментировать
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
почему вот это не компилируется?

Потому что первый элемент пары -- константа, присваивать ему нельзя.

если строки не константны - то все работает

Ну да, что тут удивительного?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы