Это на самом деле не о указателях функций, а о приведении в целом.
Предположим, pfn
имеет тип T
.Тогда &pfn
имеет тип T*
.Это приведено к FARPROC*
выражением приведения (материал в скобках).Наконец, это становится разыменованным, приводя к FARPROC&
.
Все это просто означает, что вы обрабатываете pfn
, как если бы оно было типа FARPROC
и присваиваете ему значение.
Вот общий пример:
S make_an_S();
T x;
T * const px = &x;
S * const py = (S*)px;
*py = make_an_S(); // same as *(S*)&x = make_an_S();