函数指针也可以指向类的成员函数的,调用是需要通过类实例来调用:
typedef int (CTranSession::*BillProc )(char*,char*);
int CTranSession::GetAllBillDetailCDMA( char *sphone,char *scalltime )
{
int ret = 0;
BillProc p[8];
p[0] = CDMA_GetMonth;
p[1] = CDMA_GetLocal;
p[2] = CDMA_GetWander;
p[3] = CDMA_GetMessage;
p[4] = CDMA_Get1XMessage;
p[5] = CDMA_Get1XFlux;
p[6] = CDMA_GetMRBT;
p[7] = CDMA_GetEvVoice;
for( int i = 0;i < 8 && ret != -1;ret = (this->*p[i++])( sphone,scalltime ));
return ret;
}
如果函数create被修饰为静态函数是可以调用的。你可以看看该函数前面是否有static关键词。