作者mingtai1 (绿豆嘉义人)
看板Programming
标题[问题] 请问Function pointer阵列问题
时间Thu Apr 3 01:29:12 2008
小弟有个关於指标阵列的疑问
书上说指标阵列常拿来做选单系统, 不同的选项会呼叫不同的function
今天如果code如下
// prototype
void fun1 (int);
void fun2 (int);
void fun3 (int);
// function pointer array
void (*f[3]) (int) = {fun1, fun2, fun3};
这样是OK的
但是如果把fun2改成 void fun2 (int, int)
就会出现compile error (cannot convert from xxxxx)
也很明显的是函式的signature不合
所以我的疑问是
难道要用function pointer做到选单功能
每个选单功能的回传和接收的参数数目难道都要一样吗?这样一点也不弹性
所以我想问, 请问有没有什麽办法可以解这个问题?
让阵列里面每个pointer都指到一个函式
而且那些函式也可以有不同的回传和接收参数数目
感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.227.99