我想在C中声明一个递归函数类型(一个声明自己的函数).
在像围棋这样的语言中,我可以做到:
type F func() F
func foo() F {
return foo
}
如果我try 在C:中执行相同的操作
typedef (*F)(F());
我从GCC那里得到了以下错误:
main.c:1:14: error: unknown type name ‘F’
1 | typedef (*F)(F());
这是有道理的,因为F在使用时并不存在.前向声明可以解决这个问题,如何在C中前向声明函数类型?