![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| yurec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 4.7.2007 Репутация: нет Всего: нет |
Привет
По принципу "красота спасёт мир" начал пробоавать использовать boost. В частности boost::lambda + алгоритмы. Например using namespace boost::lambda; typedef std::map<int,CString> type; type test; test[0] = (_T("1")); test[1] = (_T("2")); test[2] = (_T("3")); std::for_each(test.begin(),test.end(), OutputDebugString(bind(&type::value_type::second, _1))); Ошибка компиляции : ------------------------------------------------------------------------------------------------------------------- 'OutputDebugStringW' : cannot convert parameter 1 from 'const boost::lambda::lambda_functor<T>' to 'LPCWSTR' -------------------------------------------------------------------------------------------------------------------- Спасибо за коментарии. |
|||
|
||||
| yurec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 4.7.2007 Репутация: нет Всего: нет |
Поаробовал немного другой пример - всё получилось.
Вывод - нельзя допускать никаких приведений типов.Ну и док. внимательней читать ) typedef std::map<int,CString> type; type test; test[0] = (_T("1")); test[1] = (_T("2")); test[2] = (_T("3")); struct Foo { void Test(int i, const CString & str) { //bla-bla } } foo; std::for_each(test.begin(),test.end(), bind(&Foo::Test,foo,bind(&type::value_type::first, _1),(bind(&type::value_type::second, _1)) ) ); //CListCtrl lst_ctrl; doesn't compile :error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject' //std::for_each(test.begin(),test.end(), bind(&CListCtrl::InsertItem,lst_ctrl,bind(&type::value_type::first, _1),(bind(&type::value_type::second, _1)) ) ); констуктор приват - а бинду он,я так понимаю,нужен,значит. Обидно. |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
самое плохое в лямбде - это список поддерживающих ее компиляторов :(
я б подумал, прежде чем ее использовать в серьезной проге |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
не заметил
привык на том месте std::string видеть... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |