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