我正在尝试使用成员函数指针进行一些测试。这段代码有什么问题?这bigCat.*pcat();
语句无法编译。
class cat {
public:
void walk() {
printf("cat is walking \n");
}
};
int main(){
cat bigCat;
void (cat::*pcat)();
pcat = &cat::walk;
bigCat.*pcat();
}
需要更多括号:
(bigCat.*pcat)();
^ ^
函数调用(()
) 的优先级高于指向成员的指针绑定运算符 (.*
)。一元运算符的优先级高于二元运算符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)