| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > bind1st & bind2nd |
| Автор: chaos 15.6.2009, 12:08 | ||||
| Здравствуйте! запутался опять с bind1st и bind2st
работает нормально но если вставляю строчку
то компиллер ругается. вроде делаю все правильно: первый аргумент mem_fun кэширую а вторым будет передаваться сторока Вчем заплет? Заранее благодарен! |
| Автор: mes 15.6.2009, 13:04 | ||||
| хм..думаю баг компилятора..(точнее не его, а стандартной библиотеки) Добавлено @ 13:05 если метод объявить как void test(std::string text); то работает, иначе формирует ссылку на ссылку. Добавлено @ 13:10 скопировал описание биндера, убрав ссылку у параметра оператора () :
имхо, недоделка стл. |
| Автор: chaos 15.6.2009, 13:11 | ||||||
так работает
Добавлено через 49 секунд зы все что сделал, так это убрал const в параметре метода test а что мешало с конст - не понимаю Добавлено через 3 минуты и 14 секунд ЗЫ и еще передачу по ссылке убрал Добавлено через 6 минут и 7 секунд mes,
на счет недоделки Добавлено через 7 минут и 5 секунд ЗЫ boost::bind рулит имхо
|
| Автор: azesmcar 15.6.2009, 14:15 | ||
| chaos оператор () для структуры binary_function возвращаемой std::bind1st принимает константную ссылку на тип как аргумент. Поскольку тип там ссылка на std::string, получится ссылка на ссылку, такого не бывает. Компилятор не виноват. вот так будет нагляднее
хм...уже было, недоглядел |