@Xtone

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

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

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


Говорит что-то про удаленный оператор присвоения. Не понимаю что не так... Самое интересное что если строки не константны - то все работает.
  • Вопрос задан
  • 93 просмотра
Решения вопроса 2
Ваше присваивание выполняет p1.first = p2.first и p1.second = p2.second. Но вы запретили присваивать в p1.first, объявив его как const.
Ответ написан
Комментировать
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
почему вот это не компилируется?

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

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

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

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

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