首页 > 后端开发 > C++ > 如何正确调用C中的成员函数指针?

如何正确调用C中的成员函数指针?

Susan Sarandon
发布: 2024-12-31 21:53:10
原创
456 人浏览过

How to Correctly Invoke a Member Function Pointer in C  ?

成员函数指针调用:剖析正确的语法

使用成员函数指针时,遵守正确的语法至关重要,以确保成功执行。让我们深入研究尝试通过成员函数指针调用成员函数时遇到的典型问题并提供必要的解决方案。

错误的代码片段:

class cat {
public:
   void walk() {
      printf("cat is walking \n");
   }
};

int main(){
   cat bigCat;
   void (cat::*pcat)();
   pcat = &cat::walk;
   bigCat.*pcat();
}
登录后复制

编译错误:The bigCat .*pcat();

解决方案:

解决此问题的关键在于确保表达式 bigCat.*pcat() 具有适当的优先级。运算符优先级规定一元运算符优先于二元运算符。因此,需要使用括号来使函数调用 () 优先于指向成员的指针绑定操作 .*.

(bigCat.*pcat)();
^            ^
登录后复制

将函数调用括在括号内可确保其首先执行,然后是成员函数指针绑定。

记住:

  • 函数调用有优先级高于成员函数指针绑定。
  • 一元运算符优先于二元运算符。
  • 括号可用于控制运算符优先级并确保正确的执行顺序。

以上是如何正确调用C中的成员函数指针?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板