Keil C51編譯報錯error C141: syntax error


錯誤代碼:

 

1 typedef unsigned char uchar
2 uchar KeyRowColumnScan()
3 {
4     GPIO_KEY = 0x0f;
5     uchar key_value = 0; // 報錯行
6     // 省略
7     return key_value;
8 }

 

錯誤信息:

key_array.c(44): error C141: syntax error near ‘uchar’

錯誤原因:

由於Keil、ADS等某些遵循老的C標准的編譯器,在函數定義的內部,必須把所有的局部靜態變量和自動變量都聲明/定義了之后,然后才能開始后續的代碼書寫,否則編譯器會報錯,將代碼更改如下后,編譯正確。

1 typedef unsigned char uchar
2 uchar KeyRowColumnScan() 
3 {
4     uchar key_value = 0;  // 必須在函數開始出定義所有變量
5     GPIO_KEY = 0x0f;
6     // 省略
7     return key_value;
8 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM