標(biāo)題: 使用keil編譯過程中出現(xiàn)編號同為167-D的警告,請問如何解決,新手小白,求帶,謝謝 [打印本頁]

作者: qq1451740662    時間: 2021-3-9 15:58
標(biāo)題: 使用keil編譯過程中出現(xiàn)編號同為167-D的警告,請問如何解決,新手小白,求帶,謝謝
使用keil進(jìn)行編譯過程中出現(xiàn)兩種編號同為167-D警告編碼,這里先把錯誤信息附上
..\HARDWARE\LCD\lcd.c(352): warning:  #167-D: argument of type "const char *" is incompatible with parameter of type "const u8 *"
                                  WriteA_Chinese(mode,x,y,p);
..\HARDWARE\LCD\lcd.c(385): warning:  #167-D: argument of type "u8 *" is incompatible with parameter of type "const char *"
          LCD_ShowAllString(1,x0,y0*8,pp);
..\HARDWARE\LCD\lcd.c(389): warning:  #167-D: argument of type "u8 *" is incompatible with parameter of type "const char *"
          LCD_ShowAllString(show_mode,x0,y0*8,pp);
..\HARDWARE\LCD\lcd.c: 3 warnings, 0 errors

附圖中是警告存在位置的代碼截圖
請問該對此警告如何修改,新手小白感謝各位大佬的解答

1615276578(1).png (25.2 KB, 下載次數(shù): 139)

1615276578(1).png

作者: devcang    時間: 2021-3-9 16:25
函數(shù)的最后的參數(shù)
const char *

修改成
const unsigned char *
或 const  u8 *
作者: game灬boy    時間: 2021-3-9 16:34
你的參數(shù)類型有差別, u8的類型是unsigned char    與char類型不一致
const修飾的變量表示其值不能被改變
作者: qq1451740662    時間: 2021-3-9 16:38
devcang 發(fā)表于 2021-3-9 16:25
函數(shù)的最后的參數(shù)
const char *

您說的是第一個警告的問題吧,是要把352行改成這樣下面這樣嗎
WriteA_Chinese(const u8* mode,x,y,p);
編譯之后并沒有解決問題,還出現(xiàn)了一個錯誤
作者: qq1451740662    時間: 2021-3-9 16:40
game灬boy 發(fā)表于 2021-3-9 16:34
你的參數(shù)類型有差別, u8的類型是unsigned char    與char類型不一致
const修飾的變量表示其值不能被改變

那請問像這種情況應(yīng)該如何在代碼中修改啊,
作者: 77599585    時間: 2021-3-9 16:55
不影響運(yùn)行, 如果不想看到警告, 可以在調(diào)用函數(shù)時使用強(qiáng)制轉(zhuǎn)換
作者: game灬boy    時間: 2021-3-9 17:41
qq1451740662 發(fā)表于 2021-3-9 16:40
那請問像這種情況應(yīng)該如何在代碼中修改啊,

根據(jù)需求
1:改函數(shù)定義和聲明中參數(shù)的類型;
2:將傳入的參數(shù)定義為同類類型;
3:調(diào)用時使用強(qiáng)制類型轉(zhuǎn)換如:WriteA_Chinese( (const u8* )mode,x,y,p);
作者: qq1451740662    時間: 2021-3-9 18:39
game灬boy 發(fā)表于 2021-3-9 17:41
根據(jù)需求
1:改函數(shù)定義和聲明中參數(shù)的類型;
2:將傳入的參數(shù)定義為同類類型;

強(qiáng)制類型轉(zhuǎn)換的話,編譯的時候警告更多了,有警告不影響程序運(yùn)行吧,不影響的話就這樣用了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1