extern 引用变量出现 incomplete type is not allowed
incomplete type is not allowed 出现的几种类型:
使用extern 引用结构体时,1. 没有在文件中添加 结构体定义的头文件“.h”。2. 结构体采用先声明后定义的方式,这种extern是不允许这么操作的。采用typedef struct {}str;这种方式。
出现这种情况有两种原因:
没有在“.h”文件中声明结构体变量,且extern 引用的文件中,没有包含声明的头文件。
在一个 ".c"文件中,同时声明定义一个结构体