....
double f1(double x, double y) {
...
void euler(double alpha, double v, double (*f)(double, double), double dt) {
....
void calculate(...
...
Alpha::euler(alpha, v, &Alpha::f1, .1/.3)
...
void Alpha::euler(double ,double,double (__cdecl *)(double,double), double)": невозможно преобразовать аргумент 3 из "double (__thiscall Alpha::* )(double,double)" в "double (__cdecl *)(double,double)
Использовать либо указатели на методы, а лучше всего и проще использовать лямбды. Если совсем по простому, мало пока знаешь, передавай константу enum и внутри делай switch и вызывай один из методов
Обсуждают сегодня