Синтаксис сигнатуры функции-члена C ++ typedef

Я хочу объявить определение типа для сигнатуры функции-члена. Определения типов глобальных функций выглядят так:

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

Но я не могу сделать то же самое для функции-члена:

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

Мне это кажется логичным, потому что "foo ::" - это синтаксис для доступа к члену в классе фу. Как я могу ввести только подпись?

24
задан 0xbadf00d 28 January 2011 в 19:31
поделиться