При указании перегруженных функций в boost::bind, появляется ошибка компиляции.
struct X { int& get(); int const& get() const; }; int main() { boost::bind( &X::get, _1 ); }
Решением является приведение типа функции:
struct X { int& get(); int const& get() const; }; int main() { boost::bind( static_cast< int const& (X::*) () const >( &X::get ), _1 ); }
Источник: Binding an overloaded function
Дискуссия