如何在C中动态创建函数?
我尝试总结我的C问题如下:
我有一个矩阵,我希望能够使用一些函数来生成它的元素.
函数没有参数
因此我定义了以下内容:
typedef double(function)(unsigned int,unsigned int);
/* writes f(x,y) to each element x,y of the matrix*/
void apply(double ** matrix, function * f);
Run Code Online (Sandbox Code Playgroud)
现在我需要在代码中生成常量函数.我想过创建一个嵌套函数并返回它的指针,但是GCC手册(允许嵌套函数)说:
"如果你试图在包含函数退出后通过其地址调用嵌套函数,那么一切都会崩溃."
我希望从这段代码中得到...
function * createConstantFunction(const double value){
double function(unsigned int,unsigned int){
return value;
}
return &function;
}
Run Code Online (Sandbox Code Playgroud)
那么我怎样才能让它发挥作用?
谢谢!