Há alguma diferença entre essas duas definições de função de ordem superior?
Existem diferenças entre as quatro afirmações no main? Eu sinto que apenas apply2 (& func) faz sentido. No entanto, todos os 4 retornam o mesmo valor.
int func(void)
{
return 1;
}
int apply1( int f1(void) )
{
return f1();
}
int apply2( int (*f1) (void) )
{
return f1();
}
int main()
{
apply1(func);
apply1(&func);
apply2(func);
apply2(&func);
return 0;
}