私は次のコードを持っている:longを関数ポインタにキャストしますか?
long fp = ...
void (*ptr)(long, char*, char*) = fp;
長いfp
は長いようで来て正しい関数ポインタ、です。私は標準の "キャストなしでintからポインタを作る"という警告を出しています。私はコンパイルすることができます:
-std=iso9899:1990 -pedantic-errors
この警告はエラーになります。問題は、正しいキャストは何ですか?私は、さまざまな推測を試みている例えば:
void (*ptr)(long, char*, char*) = (void)(*)(long, char*, char*) fp;
しかし、正しいものを見つけるように見えることはできません。
なぜこれをやりたいですか? –
なぜ私は何をしたいですか? – gubby
整数と関数ポインタの間のキャスト? –