微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以使用指向静态函数的函数指针,例如指向非静态函数的函数指针吗?

如何解决我可以使用指向静态函数的函数指针,例如指向非静态函数的函数指针吗?

我可以使用指向静态函数的指针,例如指向非静态函数的指针吗?

让我说:

void (*fp_some_event_handler)(void);

void KeyEventHandler(void){
    // not static
}

static void KeyEventHandlerStatic(void){
    // static
}

我可以像使用非静态函数一样使用静态函数指针吗?

void main() {

    // Now I have something like this
    fp_some_event_handler = KeyEventHandler;
    
    // and I want to change some function to static and end with this
    fp_some_event_handler = KeyEventHandlerStatic;
  
}

解决方法

函数static是否不是其类型的一部分,而是存储类说明符

因此,您可以将示例代码中的两个函数之一分配给函数指针fp_some_event_handler

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。