为指向函数的指针编写 getter

发布于 2024-08-26 07:17:18 字数 517 浏览 10 评论 0原文

我遇到以下问题:

“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);

析构函数”的情况如何。

I have the following problem:

"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 ***/

What will be the signature for a function that returns 'destructor' from the structure ?
For example the signature of the function that returns 'size' is:

unsigned int nmlist_size(nmlist *list);

What will be the case for 'destructor' .

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

零崎曲识 2024-09-02 07:17:18

这会起作用:

typedef void (*Destructor)(void *data);
Destructor getDestructor();

This will work:

typedef void (*Destructor)(void *data);
Destructor getDestructor();
请叫√我孤独 2024-09-02 07:17:18

一般形式:

void (*get_destructor())(void *data);

确切的形式取决于 get_destructor 应该采用什么参数。如果您只是从 struct nmlist_s 的实例返回析构函数指针,那么它看起来像

void (*get_destructor(struct nmlist_s list))(void *data);

General form:

void (*get_destructor())(void *data);

Exact form will depend on what parameters get_destructor is supposed to take. If you're just returning the destructor pointer from an instance of struct nmlist_s, then it will look like

void (*get_destructor(struct nmlist_s list))(void *data);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文