我在 C 中有一个函数使我的代码崩溃,我很难弄清楚发生了什么。我有一个看起来像这样的函数:
#define cond int
void Enqueue(cond (*cond_func)());
cond read() {
return IsEmpty(some_global); // Returns a 1 or a 0 as an int
}
Enqueue(&read);
但是,在运行上述程序时,一旦调用 Enqueue,它就会出现段错误。它甚至不执行函数内部的任何内容。我运行了 gdb,它只是显示它在 Enqueue 被调用时就死了——其中没有处理任何语句。知道发生了什么吗?任何帮助,将不胜感激。