Это указатель на тип функции, который можно использовать для всех функций, которые не имеют аргументов и возвращают void
.
Например:
void function_1() {}
void function_2() {}
void(*func_1_ptr)() = function_1; // or = &function_1;
void(*func_2_ptr)() = function_2; // or = &function_2;
Сейчас func_1_ptr
содержит указатель на функцию function_1
, а func_2_ptr
содержит указатель на function_2
.
Вы можете сделать тип более интуитивным с помощью объявления using
.
using FunPtrType = void(*)();
и теперь вы можете написать
FunPtrType func_1_ptr = function_1; // or = &function_1;
//Type identifier function
FunPtrType func_2_ptr = function_2; // or = &function_2;