Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> boost::lambda 
V
    Опции темы
yurec
Дата 30.10.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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'




--------------------------------------------------------------------------------------------------------------------

Спасибо за коментарии.
PM MAIL   Вверх
yurec
Дата 30.10.2007, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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)) )   );
 
констуктор приват - а бинду он,я так понимаю,нужен,значит. Обидно.
PM MAIL   Вверх
Alek86
Дата 30.10.2007, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



самое плохое в лямбде - это список поддерживающих ее компиляторов :(
я б подумал, прежде чем ее использовать в серьезной проге


--------------------
user posted image    user posted image
PM MAIL   Вверх
JackYF
Дата 30.10.2007, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(Alek86 @  30.10.2007,  23:03 Найти цитируемый пост)
самое плохое в лямбде - это список поддерживающих ее компиляторов :(

угу, очень маленький.

особенно реализация CObject'a к компилятору имеет что ни на есть самое прямое отношение  smile 


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Alek86
Дата 31.10.2007, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



не заметил smile
привык на том месте std::string видеть...


--------------------
user posted image    user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0732 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.