成员函数指针调用:剖析正确的语法
使用成员函数指针时,遵守正确的语法至关重要,以确保成功执行。让我们深入研究尝试通过成员函数指针调用成员函数时遇到的典型问题并提供必要的解决方案。
错误的代码片段:
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中文网其他相关文章!