错误:error: #70: incomplete type is not allowed

前言

  1. 博文基于STM32标准库和MDK环境下编写;
  2. 我只列举两种出现这个错误的类型,其他类型碰见再说;
    翻译:错误的不完整类型;

类型一:在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];
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章