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