本文共 510 字,大约阅读时间需要 1 分钟。
//使用函数指针数组
typedef void * (*caseFnType)(void * p1, void * p2);//参数跟返回值,根据实际情况定
void fnCase1(void * p1, void * p2){....}
void fnCase2(void * p1, void * p2){....}
void fnCase3(void * p1, void * p2){....}
void fnCaseN(void * p1, void * p2){....}
caseFnType fn[]=
{
fnCase1,
fnCase2,
fnCase3,
....
fnCaseN
};
//===================
//原来函数是
void Test(int b)
{
....
switch(b)
{
ase 1:
语句..... return......;
case 2:
return......;
}
}
//现在函数是
void Test(int b)
{
...
if (b< _countof(fn)) //防止越界
{
fn[b](xxx,xxx,xxx);
}
}
转载地址:http://wvfci.baihongyu.com/