【发布时间】:2014-03-21 19:53:49
【问题描述】:
我想将带有参数的函数作为参数传递给其他函数,但我不知道如何(或是否)可以这样做。
我想做的是:
#include <stdio.h>
void getInput(char* request, int (*func)());
int main()
{
double input;
getInput("Input: ", scanf("%lf", &input));
}
void getInput(char* request, int (*func)())
{
// do stuff
func()
// do more stuff
}
不幸的是,这不起作用。我认为当我尝试将 scanf 作为参数传递时,它会被执行。 如何让它在 getInput 中运行?
【问题讨论】:
-
请注意,虽然 C 可能不支持它,但像 libffi 这样的库可以做到这一点,而且也是跨平台的。
标签: c function-pointers