我有以下代码:
ll_data_comp sh_program_comp(int pid) {
int comp(void* d) {
sh_program_t* p = d;
return p->pid == pid;
}
return comp;
}
comp
是在中声明的sh_program_comp
,是否意味着它已在堆栈中声明?comp
某个地方腾出时间?我有以下代码:
并且您已用标记了您的问题C99
。以下代码无效-无法在块范围内定义函数。
可以使用GNU gcc编译器对C语言的Nested Functions 扩展来编译代码。但是从文档中:
如果您尝试在包含函数退出后通过其地址调用嵌套函数,那么所有地狱都将变得松散。
如果您尝试在之后调用comp
函数sh_program_comp
,则将打开通往地狱的门户。请不要这样做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句