KEIL编译问题
大家好,为什么编译一次就会出现这个报错,再编译多一次后,这个报错就没有了。希望各位大佬帮忙解答,我想要编译一次也可以五报错。
入口参数 Xstart / 2 改成 (u8)(Xstart / 2)试试~
括号里的u8看你这个函数定义的入口参数类型,下面的同理 电子DIY小家 发表于 2023-1-30 22:43
入口参数 Xstart / 2 改成 (u8)(Xstart / 2)试试~
括号里的u8看你这个函数定义的入口参数类型,下面 ...
我测试了你的方法,确实可以了。可以说明一下原因吗?为什么这样报错就没有了 数据类型没有匹配
估计 楼主的 Xstart 是宏定义 常量, 默认 u16类型
看函数参数声明是u8,按道理应该无问题,原函数的声明也是,如果不强调u8,编译软件认为,经过计算可产生小数,语法要求很严格。 是C251的编译器吧?C251编译器计算过程默认是16位的,所以要将计算结果强转成8位,如上面“沙发”所言。
(u8)(计算表达式) 好的,谢谢各位大佬 上面这样写就是进行数据类型的显式强制转换,保证函数调用时参数类型的一致性
页:
[1]