@Xtone

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

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

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


Говорит что-то про удаленный оператор присвоения. Не понимаю что не так... Самое интересное что если строки не константны - то все работает.
  • Вопрос задан
  • 79 просмотров
Решения вопроса 2
Ваше присваивание выполняет p1.first = p2.first и p1.second = p2.second. Но вы запретили присваивать в p1.first, объявив его как const.
Ответ написан
jcmvbkbc
@jcmvbkbc
http://dilbert.com/strip/1998-08-24
почему вот это не компилируется?

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

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

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

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

Войти через центр авторизации
Похожие вопросы