解决“ warning C276: constant in condition expression“和“warning C294: unreachable code“两个告警提示

好久不见,最近因为一些项目比较忙,都没怎么发文章了,今天有空就来分享一下自己之前遇到的两个告警。

告警信息:

首先,我们先来看一下这两个告警,第一个告警为:" warning C276: constant in condition expression",第二个告警为:“warning C294: unreachable code”

这两个告警提示源于这段代码:

//错误代码
if(control_code = 0x00FF)   
{
    
    
    Beep_Led(1);
}
else if(control_code = 0xFF00)  
{
    
    
    Beep_Led(3);
}

大家如果仔细一看就知道我犯了两个错误,正是这两个错误造成编译器给我报了两个提示,第一个错误是我在if()里面不应该使用=,而应该使用==才对,使用=就相当于变量赋值一个常量了,所以编译器提示我的第一个告警就是" warning C276: constant in condition expression"(警告C276:条件表达式中的常量)。

然后我们再看,因为我们if的条件表达式不成立,所以if不能判断,下面的else if也就不成立,所以编译器就提示第二个告警:“warning C294: unreachable code”(警告C294:无法访问的代码),同时第二个else if()里面的条件表达式里面的=也要修改为==。

解决方法:

遇到这种情况查看自己的条件表达式或者逻辑语句是否有问题,找出问题后修改即可解决~
因此,上述正确的代码应该是:

//正确代码
if(control_code == 0x00FF)     //将"="修改为"==",修改完逻辑语句正确,else if也就成立
{
    
    
    Beep_Led(1);
}
else if(control_code == 0xFF00)  //将"="修改为"=="
{
    
    
    Beep_Led(3);
}

以上例子可以作为案例,如果大家也有遇到相似问题,可以按照此方法进行查找和整改。

本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞,谢谢~

猜你喜欢

转载自blog.csdn.net/OMGMac/article/details/127838006