Это:
double a(double(b::*bb)());
Должно быть:
double a(double(B::*bb)());
То есть bb
должен быть объявлен как указатель на функцию-член в классе B
, а не в объекте b
(который является экземпляром, а не самим типом, поэтому не может быть частью типа). * * +1010