Я искал, но не смог найти никаких результатов (моя терминология может быть отключена), так что простите меня, если это было задано раньше.
Мне было интересно, есть ли простой способ вызвать void*
как функцию в C без предварительного объявления указателя на функцию, а затем назначить указатель функции адресом;
т. предполагая, что вызываемая функция имеет тип void(void)
void *ptr;
ptr = <some address>;
((void*())ptr)(); /* call ptr as function here */
с приведенным выше кодом, я получаю ошибку C2066: функция cast to function является незаконной в VC2008
Если это возможно, как будет отличаться синтаксис для функций с типами возврата и несколькими параметрами?