找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

使用keil編譯過程中出現(xiàn)編號同為167-D的警告,請問如何解決,新手小白,求帶,謝謝

查看數(shù): 10551 | 評論數(shù): 7 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2021-3-9 15:58

正文摘要:

使用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 ...

回復(fù)

ID:889492 發(fā)表于 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)行吧,不影響的話就這樣用了
ID:367369 發(fā)表于 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);
ID:871393 發(fā)表于 2021-3-9 16:55
不影響運(yùn)行, 如果不想看到警告, 可以在調(diào)用函數(shù)時使用強(qiáng)制轉(zhuǎn)換
ID:889492 發(fā)表于 2021-3-9 16:40
game灬boy 發(fā)表于 2021-3-9 16:34
你的參數(shù)類型有差別, u8的類型是unsigned char    與char類型不一致
const修飾的變量表示其值不能被改變

那請問像這種情況應(yīng)該如何在代碼中修改啊,
ID:889492 發(fā)表于 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)了一個錯誤
ID:367369 發(fā)表于 2021-3-9 16:34
你的參數(shù)類型有差別, u8的類型是unsigned char    與char類型不一致
const修飾的變量表示其值不能被改變
ID:277550 發(fā)表于 2021-3-9 16:25
函數(shù)的最后的參數(shù)
const char *

修改成
const unsigned char *
或 const  u8 *

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表