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

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

DDD
DDD原创
2024-12-18 14:43:09743浏览

How Can I Correctly Invoke a Member Function Pointer in C  ?

成员函数指针调用

使用成员函数指针时,通过指针执行函数通常具有挑战性。让我们更详细地考虑这个问题。

在提供的代码片段中,尝试通过成员函数指针 pcat 调用 cat 类的 walk 成员函数。然而,由于语法错误,代码无法编译。

问题的根源在于运算符的优先级。函数调用运算符 (()) 的优先级高于指向成员绑定运算符 (.*)。此外,一元运算符优先于二元运算符。为了解决这个问题,需要额外的括号,如下所示:

(bigCat.*pcat)();
^            ^

通过将函数调用括在括号中,我们确保它首先被执行,然后将成员函数指针 pcat 绑定到猫对象 bigCat。通过此调整,可以成功调用 walk 成员函数。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn