|
发表于 2009-4-29 19:12:08
|
显示全部楼层
Post by khc;1978242
主要問題是你的 a, b, c 都不是在返回函数指针:
- static void g()
- {
- }
- static void (*f(void)) () /* typedef void (*cb)(void) */
- {
- return g;
- }
- int main(int argc, char *argv[])
- {
- f()();
- return 0;
- }
复制代码
这才是重点,原来的((FunPoint)(f()))();语句只是进行强制类型转换,即把普通指针转换为函数指针,如果按照楼上的做法,函数直接返回函数指针,这样的话就不在需要强制类型转换了 |
|