找出下面程序的问题
找出下面程序的问题,描述原因及改正方法
typedef void (Car::*_ptrf)()
class Car{
void run();
bool stop();
}
void Car::run()
{
......
}
bool Car::stop()
{
......
}
void Operation(_ptrf paction){
(*paction)();
}
[解决办法]
1. 缺少分号
2. typedef应该在Car的定义之后
3. 如果想要调用stop的话,返回值必须为void
4. 调用非静态成员函数时,必须提供指针
void Operation(Car *ptr, _ptrf paction)
{
(ptr-> *paction)();
}