| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > bind |
| Автор: np9mi7 1.4.2006, 23:20 | ||
| Добрый день! Имеется код:
Проблема в том что в std::map лежат std::pair <std::string, boost::shared_ptr <some_abstract> > и мне нужно вызвать метод pair.second; Как это сделать? Заранее благодарен за ответы. ps: написание функции/функтора не предлагать; |
| Автор: Void 1.4.2006, 23:59 | ||
Раз уж все равно Boost используешь. |
| Автор: np9mi7 2.4.2006, 14:06 | ||||
Void, всё круто, но вот такой "прекрасный" компилятор как Borlan Builder C++ 6.0 + update 4 выдает следующую ошибку:
и в исходник Boost - а:
Не доработка Boost - a? |
| Автор: Void 2.4.2006, 17:48 |
| Скорее глюки Борланда. Я бы вообще поостерегся с ним писать такие комбинаторы. Лучше потратить чуть больше строчек на свой функтор или цикл, чем разгребать странные ошибки и ICE. |
| Автор: np9mi7 12.6.2006, 01:24 | ||
|
| Автор: MAKCim 12.6.2006, 09:59 | ||
ну сделай свой функтор
|
| Автор: Earnest 12.6.2006, 11:53 |
| Или можно сделать спец. функторы общего назначения для извлечение первого и второго элемента пары - чтобы использовать их вместе c boost::bind. |