代码
class cat{
public:
void walk(){
printf("cat is walking \n");
}
void myAbc(){
void (*pKoo)();
pKoo = &this->walk;
}
void myDef(){
void(cat::*pFoo)();
pFoo = &this->walk;
}
}
};
结果
- 无效 (*pKoo)(); - 没问题
- pKoo = &this->walk; - 编译错误
- 无效(猫::* pFoo)();- 没问题
- pFoo = &this->walk; - 编译错误;
问题
- 为什么没有2不可能?如果不可能,那1号有什么用?
- 为什么没有4不可能?如果不可能,那3号有什么用?
请帮助进行概念解释。谢谢你