![]() |
|
|
![]()
|
|
| Dr_VOLAND |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.9.2007 Репутация: 0 Всего: 0 |
Всем доброе время суток!
Читал я вчера книгу хорошую по сям, автора Шилдта. В главе посвященной STL, в теме про ассоциативные списки (map)… встретил функцию-член: reference operator[] (const key_type &i). Написал код:
В итоге ошибка: E:\proglang\Microsoft Visual Studio\MyProjects\temp\temp.cpp(64) : error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'class param' (or there is no acceptable conversion) В чем ошибка? :-( Это сообщение отредактировал(а) Dr_VOLAND - 16.9.2007, 14:13 |
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
Во первых какой смысл писать operator[](1) если можно operator[1]
Во вторых operator[1] вернет тебе значение типа param для ключа "1". Для твоего случая в map'е нет ключей равных "1" поэтому тебе вернется param со значениями, заданными в конструкторе по умолчанию. -------------------- Подпись больше не нужна |
|||
|
||||
| Dr_VOLAND |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.9.2007 Репутация: 0 Всего: 0 |
Спасибо! ))
Правильно будет вот так:
Относительно записи, корректно все же вот так: operator[](i) |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 7 Всего: 92 |
1.
2. Оператор [] std::map вернёт тип, заданный дл значения мэпа, но не итератор. Для последнего - смотри в сторону find. |
|||
|
||||
| Dr_VOLAND |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.9.2007 Репутация: 0 Всего: 0 |
Да! Вы правы любитель!))
Так лучше читается… я просто пробовал варианты operator(4), operator[4], а єто неправильная запись. Ключи ведь хранятся в массиве. Это сообщение отредактировал(а) Dr_VOLAND - 16.9.2007, 14:29 |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
||||
|
||||
| Dr_VOLAND |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.9.2007 Репутация: 0 Всего: 0 |
Ок! Всегда найдется умник. ))
«… в классе map» Это сообщение отредактировал(а) Dr_VOLAND - 16.9.2007, 15:39 |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |