Я конвертирую код Fortran в C ++ и хотел найти правильную опцию для функции-указателя.
Код Фортрана: для двух разных случаев он передает два разных типа указателей на функции в другую функцию. Эти указатели функций имеют разные интерфейсы. В C ++ мне нужно указать интерфейс функции-указателя и, следовательно, это не так просто. Может кто-нибудь предложить, если функтор C ++ или что-то еще, это было бы полезно? Я хотел бы использовать что-то вроде 'void (function) pointer', а затем 'cast', но я действительно не знаю. Заранее спасибо.
РЕДАКТИРОВАТЬ: минимальный пример в Fortran
Fortran
if(option1) then
call myfunc( abc_function_pointer,otherarguments)
else
call myfunc( xyz_function_pointer, otherarguments)
endif
где эти функции (в C ++)
void (*abc_function_pointer)(int, float) //in c++
void (*xyz_function_pointer)(int, int, int) //in c++