Добрый день!
Работаю с boost::bind уже давно, но раньше с таким не сталкивался.
Допустим есть некий класс Writer, он имеет пока одну функцию write:
void write(const Point& point);
В клиенте этого класса есть такой код:
vector<Point> points_in;
...
Writer writer(buffer, caption, frequency, size);
points_in = helpers::make_randomPoints(size, count);
for_each(points_in.begin(), points_in.end(),
boost::bind(&Writer::write, &writer, _1) );
Этот код прекрасно собирается и работает.
Но вот возникла необходимость добавить в класс Writer еще одну функцию write:
void write(const Point& point);
void write(const std::vector<Point>& points);
И вышеприведенный код перестает собираться, компилятор выдает кучу ошибок.
Пробовал в новую версию функции write добавить еще параметр, это помогает.
Очевидно, что компилятор не может правильно определить параметры шаблонной функции bind и их нужно задать явно.
Помогите пожалуйста это сделать.