std::bind overload resolution
You need a cast to disambiguate the overloaded function:
(int(A::*)(int,int))&A::operator()
If you have C++11 available you should prefer lambdas over std::bind
since it usually results in code that is more readable:
auto aBind = [&a](int i, int j){ return a(i, j); };
compared to
auto aBind = std::bind(static_cast<int(A::*)(int,int)>(&A::operator()), std::ref(a), std::placeholders::_2, std::placeholders::_1);