@ally
В C и C++, объявление указателя на функцию происходит следующим образом:
1
|
тип_возвращаемого_значения (*имя_указателя)(список_типов_аргументов) |
где:
Например, объявление указателя на функцию int foo(double, char)
будет выглядеть следующим образом:
1
|
int (*ptr)(double, char); |
Здесь ptr
- это имя переменной, которая будет хранить адрес функции, которая принимает аргументы типов double
и char
и возвращает значение типа int
.
@ally
В C++ также возможно использовать typedef для более удобного объявления указателей на функции. Например:
1
typedef int (*PtrFunc)(double, char);
Здесь PtrFunc - это синоним для указателя на функцию, которая принимает аргументы типов double и char и возвращает значение типа int. Теперь можно объявить переменную типа PtrFunc следующим образом:
1
PtrFunc ptr;