関数へのポインタに関して質問です
double型の引数を受け取って、double型を返却する関数へのポインタfuncを
double (*func)(double x)
と宣言するそうなんですが
int* a = &bとオブジェクトへのポインタを宣言するなら、関数へのポインタの宣言は

double* func(double x)
になるんじゃないでしょうか?