уверен:
std::function<int()> get = std::bind(&A::calc, this);
позже, вы можете изменить его, чтобы указать на другой экземпляр "b":
get = std::bind(&A::calc, &b)
Также обратите внимание, что ваш код не будет компилироваться, как вы попытка назначить указатель на функцию-член (& A :: cal c) на простой указатель на функцию (int (*) ()). Синтаксис для объявления указателя на функцию-член будет int (A :: * get) (), но тогда вы сможете вызвать этот указатель на функцию-член только в том случае, если у вас есть экземпляр (если вы не связываете его, как в решении Я предоставил выше).
instance.*get();
or
pointer ->* get();
Обратите внимание на использование операторов * и -> *