成员函数指针调用
使用成员函数指针时,通过指针执行函数通常具有挑战性。让我们更详细地考虑这个问题。
在提供的代码片段中,尝试通过成员函数指针 pcat 调用 cat 类的 walk 成员函数。然而,由于语法错误,代码无法编译。
问题的根源在于运算符的优先级。函数调用运算符 (()) 的优先级高于指向成员绑定运算符 (.*)。此外,一元运算符优先于二元运算符。为了解决这个问题,需要额外的括号,如下所示:
(bigCat.*pcat)(); ^ ^
通过将函数调用括在括号中,我们确保它首先被执行,然后将成员函数指针 pcat 绑定到猫对象 bigCat。通过此调整,可以成功调用 walk 成员函数。
以上是如何正确调用C语言中的成员函数指针?的详细内容。更多信息请关注PHP中文网其他相关文章!