小编nic*_*ick的帖子

在C中动态创建函数

如何在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)

那么我怎样才能让它发挥作用?

谢谢!

c dynamic

14
推荐指数
6
解决办法
1万
查看次数

标签 统计

c ×1

dynamic ×1