Sintaxe de assinatura da função de membro typedef C ++

Desejo declarar a definição de tipo para uma assinatura de função de membro. A função global typedefs fica assim:

typedef int (function_signature)(int, int);
typedef int (*function_pointer) (int, int);

Mas não sou capaz da mesma coisa para uma função de membro:

typedef int (foo::memberf_signature)(int, int);   // memberf_pointer is not a member of foo
typedef int (foo::*memberf_pointer)(int, int);

Parece-me logicamente, porque "foo ::" é a sintaxe para acessar um membro da classe foo. Como posso digitar apenas a assinatura?

questionAnswers(1)

yourAnswerToTheQuestion