Instance methods on a class always have a hidden first parameter for the this pointer, thus it is incompatible with your function pointer typedef.  There is no way directly to obtain a pointer to a member function.  The typical workaround is to use a "thunk" where you pass a static function that accepts a generic "catch all" parameter (such as void *) which can be statically cast to a pointer of your choosing on which you can invoke the member function. Example:
class B
{
public:
    static void MyThunk(void * obj)
    {
        static_cast<B *>(obj)->MyRealFunc();
    }
    void MyRealFunc()
    {
        // do something here
    }
    // . . .
};
You can get a pointer to the static function easily as it has no 'hidden this', just reference it using B::MyThunk.  If your function requires additional parameters, you can use something like a functor to capture the necesssary parameters and state.
You should definitely read this C++ FAQ Lite page which tells you much more about all this: Pointers to member functions