Скажем, у меня есть функция, которая принимает указатель функции void (*)(void*)
для использования в качестве обратного вызова:
void do_stuff(void (*callback_fp)(void*), void* callback_arg);
Теперь, если у меня есть такая функция:
void my_callback_function(struct my_struct* arg);
Могу ли я сделать это безопасно?
do_stuff((void (*)(void*)) &my_callback_function, NULL);
Я рассмотрел этот вопрос, и я просмотрел некоторые стандарты C, которые говорят, что вы можете использовать для "совместимых указателей функций", но я не могу найти определение того, что означает "совместимый указатель функции".