Код не может быть запущен вне функции.
Это пытается запустить код:
ptrF= &func;
Это потому, что это не декларация.
Если вы переместите это внутрь функции, она будет работать
В качестве альтернативы вы можете инициализировать его в точке объявления.
double (*ptrF)(double&) = &func;
Недостаточно параметров:
aFunc(myF, myStart , ptrF);
// ^^^^ Missing a double here
Обратите внимание, что вы передаете только три аргумента. Эта функция занимает четыре. Таким образом, вы передаете указатель на функцию в качестве параметра, который ожидает только двойное значение.