Указатель на функцию-член

Если следующее из C ++ FAQ Lite верно: «имя функции распадается на указатель на функцию» (так как имя массива распадается на указатель на свой первый элемент) ; почему мы должны включать амперсанд?

typedef  int (Fred::*FredMemFn)(char x, float y);
FredMemFn p = &Fred::f;

И не только:

typedef  int (Fred::*FredMemFn)(char x, float y);
FredMemFn p = Fred::f;

Во втором случае Fred :: f является функцией и может распадаться на указатель на эту функцию.

Я надеюсь, что этот вопрос не в том, что глупо.

16
задан Cedric H. 25 October 2010 в 00:19
поделиться