Je veux ajouter une série de chaînes à une zone de liste déroulante en utilisant std :: for_each. Les objets sont de type Category
et je dois appeler le GetName
. Comment puis-je y parvenir avec boost::bind
?Comment appeler une fonction membre sur un paramètre avec std :: for_each et boost :: bind?
const std::vector<Category> &categories = /**/;
std::for_each(categories.begin(), categories.end(), boost::bind(&CComboBox::AddString, &comboBox, _1);
Le code actuel échoue, il essaie d'appeler CComboBox::AddString(category)
. Ce qui est évidemment faux. Comment puis-je appeler CComboBox::AddString(category.GetName())
en utilisant la syntaxe actuelle?
Existe-t-il une stricte nécessité d'utiliser 'std :: foreach' au lieu d'itérer? – baton
Pas une nécessité stricte, juste essayer d'apprendre boost. –