extern 引用变量出现 incomplete type is not allowed

incomplete type is not allowed 出现的几种类型:

使用extern 引用结构体时,1. 没有在文件中添加 结构体定义的头文件“.h”。2. 结构体采用先声明后定义的方式,这种extern是不允许这么操作的。采用typedef struct {}str;这种方式。

 

出现这种情况有两种原因:

没有在“.h”文件中声明结构体变量,且extern 引用的文件中,没有包含声明的头文件。

在一个 ".c"文件中,同时声明定义一个结构体

posted @ 2023-03-25 21:13  嵌入式小白—  阅读(1725)  评论(0编辑  收藏  举报