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?