Эй, я пытаюсь выяснить, как я передаю указатель на функцию, хранящуюся в структуре. Ниже приведено typedefКак передать указатель на функцию.
struct menu_item
{
char name[ITEM_NAME_LEN+1];
BOOLEAN (*func)(struct vm*);
};
Функция, которую я пытаюсь передать, имеет следующий прототип.
void print_list(struct vm_node *root);
с Defintion файла, который:
void print_list(struct vm_node *root) {
while (root) {
printf("%s",root->data->id);
root = root->next;
}
printf("\n");
}
Адрес оператора не требуется в '& print_list'. 'print_list' распадается на указатель функции, аналогичный тому, как массив распадается на указатель. – tangrs
@krypton func должен будет принимать различные другие функции, которые возвращают другие типы. –
@tangrs: с амперсандом - более правильный способ понимания. – Krypton