读书人

找出下面程序的有关问题

发布时间: 2012-02-05 12:07:14 作者: rapoo

找出下面程序的问题
找出下面程序的问题,描述原因及改正方法
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)();
}

读书人网 >C++

热点推荐