找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

使用keil编译过程中出现编号同为167-D的警告,请问如何解决,新手小白,求带,谢谢

查看数: 10550 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-3-9 15:58

正文摘要:

使用keil进行编译过程中出现两种编号同为167-D警告编码,这里先把错误信息附上 ..\HARDWARE\LCD\lcd.c(352): warning:  #167-D: argument of type "const char *" is incompatible with parameter of ...

回复

ID:889492 发表于 2021-3-9 18:39
game灬boy 发表于 2021-3-9 17:41
根据需求
1:改函数定义和声明中参数的类型;
2:将传入的参数定义为同类类型;

强制类型转换的话,编译的时候警告更多了,有警告不影响程序运行吧,不影响的话就这样用了
ID:367369 发表于 2021-3-9 17:41
qq1451740662 发表于 2021-3-9 16:40
那请问像这种情况应该如何在代码中修改啊,

根据需求
1:改函数定义和声明中参数的类型;
2:将传入的参数定义为同类类型;
3:调用时使用强制类型转换如:WriteA_Chinese( (const u8* )mode,x,y,p);
ID:871393 发表于 2021-3-9 16:55
不影响运行, 如果不想看到警告, 可以在调用函数时使用强制转换
ID:889492 发表于 2021-3-9 16:40
game灬boy 发表于 2021-3-9 16:34
你的参数类型有差别, u8的类型是unsigned char    与char类型不一致
const修饰的变量表示其值不能被改变

那请问像这种情况应该如何在代码中修改啊,
ID:889492 发表于 2021-3-9 16:38
devcang 发表于 2021-3-9 16:25
函数的最后的参数
const char *

您说的是第一个警告的问题吧,是要把352行改成这样下面这样吗
WriteA_Chinese(const u8* mode,x,y,p);
编译之后并没有解决问题,还出现了一个错误
ID:367369 发表于 2021-3-9 16:34
你的参数类型有差别, u8的类型是unsigned char    与char类型不一致
const修饰的变量表示其值不能被改变
ID:277550 发表于 2021-3-9 16:25
函数的最后的参数
const char *

修改成
const unsigned char *
或 const  u8 *

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表