В чем разница двух этих конструкций.
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)
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Нужно перевести число из Little endian в big-endianДано изначально 32 битное число представленное в десятичном виде
Подскажите чайнику,пожалуйста, как обойти ситуациюВ своем приложении решил создать иерархическую структуру данных
Нужна помощь умных людейНужно: Создать класс СТРОКА, реализующий текстовую строку