私が聞いたように、関数へのポインタをに変換することは安全ではありませんvoid*
。
さて、キャストしても安全ですか
void (*enumerate) (void (*)(const struct foo *event, void *), void *)
に
void (*enumerate) (void (*)(const void *event, void *), void *)
そしてそれを
void (*)(const void *, void *)
最初の引数として、最初のvoid*をstructfoo *として扱いますか?