I have a struct like this:
struct A {
void i(int i) {}
void s(string const &s) {}
};
Now when I try this:
bind
The issue is a defect in the library specification.
Take a look at this bug report against gcc and the resulting discussion: Bug 37811 - bind1st fails on mem_fun with reference argument
C++03 lacked the facilities to build a perfect bind library. This issue is fixed in C++11 with perfect forwarding and std::bind.