前言
- 博文基于STM32标准库和MDK环境下编写;
- 我只列举两种出现这个错误的类型,其他类型碰见再说;
翻译:错误的不完整类型;
类型一:在b.c文件中需要引入一个a.c中的结构体变量,,我在b.c中直接extern 这个结构体,,结果编译时报错error: #70: incomplete type is not allowed最后上网查找才知道结构体不能这样引入。
解决办法:
1.在a.h中声明这个结构体,,(结构体实体要在.h文件中)
2.在a.c中定义这个结构体类型的变量。(也可以在a.h中定义结构体变量)
3.在b.c中ertern引入这个结构体变量
类型二:当ertern一个数组时如果不定义数组大小是也会出现error: #70: incomplete type is not allowed这个错误。。
解决办法:
给定引用的数组容量;如下:
ertern char a[10];