您看到的错误消息是由于function 在使用之前未声明该函数.因此编译器隐式声明一个原型int作为默认类型function.但实际返回类型function与隐式int类型冲突.所以你得到那些错误.
function
int
请注意,此隐式int规则不再有效,因为它已从C99中删除.这曾经是C89/C90的情况.
解决方案是为它提供原型.将其添加到源文件的顶部(如果有的话,将其包含在头文件中):
const char *function (char *);