В чем разница между этими 2 декларациями:
int operate(int (*func)(int, int), int a, int b){
return (*func)(a, b);
}
и
int operate(int func(int, int), int a, int b){
return func(a, b);
}
Эти два также, кажется, эквивалентны: operate(sum, 1, 1)
и operate(&sum, 1, 1)
Если я передам функцию sum
как функцию от 2 чисел вместо func
, результат останется прежним. Почему?