Мой вопрос связан с числовыми рецептами. У меня есть глобальная функция, которая вычисляет вектор минимизируемых функций.
VecDoub vecfunc(VecDoub_I x) {
// code is here
}
В функции класса run я попытался вызвать функцию числовых рецептов newt, которая считывает мою функцию vecfunc, как показано ниже:
class A {
void run() {
VecDoub_IO pt;
pt.resize(2);
pt[0] = 0.5;
pt[1] = 0.5;
bool check = false;
newt<VecDoub>(pt, check, &vecfunc);
}
}
Функция newt объявлена как
template <class T>
void newt(VecDoub_IO &x, Bool &check, T &vecfunc)
Почему я получаю следующую ошибку компилятора?
error C2664: 'newt' : cannot convert parameter 3 from 'VecDoub (__cdecl *)(VecDoub_I)' to 'VecDoub &'