В чем разница двух этих конструкций.
void Function(int operation(int) ) {}
void Function(int (*operation)(int) ) {}
В первом случае параметр имеет тип функции, во втором случае - указатель на функцию. Согласно пункту 11.3.5/5 стандарта C++, если параметр имеет тип функции T, то он преобразуется в тип указатель на функцию T.
(N4659)
11.3.5 Functions
Согласно этому пункту в функции
void Function(int operation(int)) {}
параметр operation будет иметь тип int (*)(int), т.е. такое объявление будет эквивалентно
void Function(int (*operation)(int) ) {}
Тоже самое происходит и с массивами.
Абсолютно никакой разницы. Оба варианта означают передачу int (*operation)(int).
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости