怎么会有这个warning

[复制链接]
 楼主| 王培1 发表于 2008-10-29 21:01 | 显示全部楼层 |阅读模式
Warning&nbsp;:&nbsp;C2705:&nbsp;Possible&nbsp;loss&nbsp;of&nbsp;data<br /><br />main.c&nbsp;line&nbsp;550&nbsp;&nbsp;&nbsp;<br /><br />Warning&nbsp;:&nbsp;C2705:&nbsp;Possible&nbsp;loss&nbsp;of&nbsp;data<br /><br />main.c&nbsp;line&nbsp;602&nbsp;&nbsp;&nbsp;<br /><br />Warning&nbsp;:&nbsp;C2705:&nbsp;Possible&nbsp;loss&nbsp;of&nbsp;data<br /><br />main.c&nbsp;line&nbsp;666&nbsp;&nbsp;&nbsp;<br /><br />这是什么意思??这个程序在其它MCU是调试通过的呀
johnwjl 发表于 2008-10-29 22:47 | 显示全部楼层

cw编译严谨体现.

加类型强制转换.
 楼主| 王培1 发表于 2008-10-31 21:25 | 显示全部楼层

不是类型的问题

原来是这样写的<br />ReadData[SensorNum&nbsp;-&nbsp;1&nbsp;-i]&nbsp;=&nbsp;(LCode[MCode]&nbsp;+&nbsp;0x0b)&gt&gt4;<br />要写成这样<br />ReadData[SensorNum&nbsp;-&nbsp;1&nbsp;-i]&nbsp;=&nbsp;LCode[MCode]&nbsp;+&nbsp;0x0b;<br />ReadData[SensorNum&nbsp;-&nbsp;1&nbsp;-i]&nbsp;&gt&gt=&nbsp;4;
johnwjl 发表于 2008-11-4 20:26 | 显示全部楼层

试试看。

ReadData[n]&nbsp;是否为unsigned&nbsp;char&nbsp;类型?如下:<br /><br />ReadData[SensorNum&nbsp;-&nbsp;1&nbsp;-i]&nbsp;=&nbsp;(unsigned&nbsp;char)((LCode[MCode]&nbsp;+&nbsp;0x0b)&gt&gt4)
 楼主| 王培1 发表于 2008-11-5 19:34 | 显示全部楼层

也是可以的

原来我在IAR编译器下面的写法为ReadData[SensorNum&nbsp;-&nbsp;1&nbsp;-i]&nbsp;=&nbsp;(LCode[MCode]&nbsp;+&nbsp;0x0b)&gt&gt4;,目的上一把ReadData[SensorNum&nbsp;-&nbsp;1&nbsp;-i]加0x0b后右移4次,把高4位变0,在IAR下面编译没有问题,在CW下面会有上面的&quot;warning&quot;,那么又2中写法<br />1:ReadData[SensorNum&nbsp;-&nbsp;1&nbsp;-i]&nbsp;=&nbsp;LCode[MCode]&nbsp;+&nbsp;0x0b;<br />ReadData[SensorNum&nbsp;-&nbsp;1&nbsp;-i]&nbsp;&gt&gt=&nbsp;4;<br /><br />2:ReadData[SensorNum&nbsp;-&nbsp;1&nbsp;-i]&nbsp;=&nbsp;(unsigned&nbsp;char)((LCode[MCode]&nbsp;+&nbsp;0x0b)&gt&gt4)<br />
 楼主| 王培1 发表于 2008-11-5 19:52 | 显示全部楼层

感谢4楼的朋友提醒

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

142

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

37

主题

142

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部