bind1st+mem_fun
От: blashyrkh  
Дата: 29.07.07 16:06
Оценка:
Есть вот такой код:

[ccode]
struct S {};

class C
{
public:
void f(const S&) {}
};

S s;
std::vector<C*> v;

...

// Требуется вызвать метод f для всех элементов v.
// Вот этот способ не работает:
std::for_each(v.begin(), v.end(), std::bind1st(std::mem_fun(&C::f), s);

[/code]

В результате в недрах STL образуется ссылка на ссылку, и программа не компилируется. Возможно ли переписать вызов for_each без(!) использования boost так, чтобы указанный пример заработал правильно?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.