我有以下问题:
“list.c”
struct nmlist_element_s {
void *data;
struct nmlist_element_s *next;
};
struct nmlist_s {
nmlist_element *head;
nmlist_element *tail;
unsigned int size;
void (*destructor)(void *data);
int (*match)(const void *e1, const void *e2);
};
/*** Other code ***/
从结构中返回'析构函数'的函数的签名是什么? 例如,返回“ size ”的函数的签名是:
unsigned int nmlist_size(nmlist *list);
'析构函数'将是什么情况。
答案 0 :(得分:7)
这将有效:
typedef void (*Destructor)(void *data);
Destructor getDestructor();
答案 1 :(得分:3)
一般表格:
void (*get_destructor())(void *data);
确切的形式取决于get_destructor应该采用的参数。如果您只是从struct nmlist_s的实例返回析构函数指针,那么它将看起来像
void (*get_destructor(struct nmlist_s list))(void *data);