【发布时间】:2013-02-23 19:32:12
【问题描述】:
最近我发现可以通过在函数调用中强制转换来将隐式数组传递给函数
void foo(int* array);
foo((int[4]) {1,2,3,4});
但是,我想知道在将函数指针传递给函数时是否可以做同样的事情,比如:
void bar(void (*foobar)(void));
bar((void) {printf("foobar\n");});
那么有可能做到这一点吗?
我想知道的原因是,如果我有一大块代码可能有一定的循环结构,但核心功能在实例之间发生了变化,我不想让我的代码乱扔多个临时函数只是将它们传递给另一个函数。因此希望能够在参数中定义临时函数。
非常感谢
【问题讨论】:
标签: c function-pointers