假设我有一个头文件foo.h,它声明了一个结构变量
#include <stdio.h>
typedef struct foo_struct foo_s;
foo_s foo_function(int a);
foo_s bar_function(int b);
和一个实际定义结构的源文件foo.c
#include "foo.h"
struct foo_struct
{
int a;
int b;
};
foo_s foo_function(int a)
{
foo_s fs;
fs.a = a;
return fs;
}
现在我想在另一个源文件bar.c中访问foo.c中定义的结构,所以我尝试以下操作:
#include "foo.h"
foo_s bar_function(int b)
{
foo_s fb;
fb.b = b;
return fb;
}
...并以bar.c:3:7 失败:错误:返回类型是不完整的类型
我有点理解问题所在,但有解决方法吗?