Насколько я могу судить, оригинальный постер хочет сделать что-то, зависящее от реализации, и поэтому не переносимое; это выходит за рамки того, что в стандарте C ++ говорится о приведении указателей на функции, а не о стандарте C, но здесь этого должно быть достаточно.
В некоторых средах, с некоторыми компиляторами, может быть возможно сделать то, что, по-видимому, хочет сделать плакат (то есть скопировать блок памяти, на который указывает указатель на функцию, в другое место, возможно, выделенный с помощью malloc, приведите этот блок к указателю на функцию и вызовите его напрямую). Но это не будет портативным, что не может быть проблемой. Поиск размера, требуемого для этого блока памяти, сам по себе зависит от среды и компилятора и может очень потребовать некоторых довольно загадочных вещей (например, сканирование памяти на предмет кода возврата или запуск памяти через дизассемблер). Опять же, специфичный для реализации, и очень непереносимый. И опять же, может не иметь значения для оригинального постера.
Все ссылки на потенциальные решения, по-видимому, используют поведение, зависящее от реализации, и я даже не уверен, что они делают то, что подразумевается, но они могут подходить для ОП.
Побив эту лошадь до смерти, мне любопытно узнать, почему ОП хочет это сделать. Он будет довольно хрупким, даже если он работает в целевой среде (например, может порваться с изменениями параметров компилятора, версии компилятора, рефакторинга кода и т. Д.). Я рад, что я не делаю работу там, где такая магия необходима (при условии, что она есть) ...