У меня есть следующий код:Выделите длинный указатель на функцию?
long fp = ...
void (*ptr)(long, char*, char*) = fp;
fp
Долгие является правильным указателем на функцию, которая приходит как долго. Я получаю стандартное предупреждение «make pointer from int without cast». Я хочу иметь возможность компилировать с:
-std=iso9899:1990 -pedantic-errors
, который превращает это предупреждение в сообщение об ошибке. Вопрос в том, что такое правильный перевод? Я пробовал различные догадки, например:
void (*ptr)(long, char*, char*) = (void)(*)(long, char*, char*) fp;
Но, похоже, не может найти правильный вариант.
Зачем вам это нужно? –
Зачем мне это делать? – gubby
Листинг между целыми числами и указателями функций? –