c – 此代码中切换默认的任何奇怪目的?

c – 此代码中切换默认的任何奇怪目的?,第1张

概述我正在将一些代码从C移植到C,我找到了这段代码: if(ErrorCode >= SOME_CONSTANT){ Status = RETVAL_OK; switch ( ErrorCode ) { default: Status = RETVAL_FAILED; break; }} 此代码生成编 我正在将一些代码从C移植到C,我找到了这段代码:

if(ErrorCode >= SOME_CONSTANT){    Status = RETVAL_OK;    switch ( ErrorCode )    {        default:            Status = RETVAL_Failed;            break;    }}

此代码生成编译警告:

warning C4065: switch statement contains 'default' but no 'case' labels

问题:switch语句是否有任何目的(我没有掌握)或者只是简单的代码?

也就是说,有没有任何理由(编译ANSI C或C时)不这样写?

if(ErrorCode >= SOME_CONSTANT)     Status = RETVAL_Failed;

编辑:解决出现的所有问题:

代码并不是要扩展:这是四年前交付的模块的最终版本(从那以后它没有被触及,所以我倾向于相信它是残酷的).

据我所知,还没有删除的case语句(相同的代码构造放在代码中的三个不同的位置(如果检查错误常量,则相同的switch / default)如果有删除的case语句,当案件被删除时,代码应该已被重构.

感谢大家.

解决方法 我能想到的两件事:1)代码是自动生成的2)原始编码器认为他们可能会在以后为错误代码添加不同的处理,但从未这样做过. 无论哪种情况,我都看不出任何理由不将其改为简单的if语句 总结

以上是内存溢出为你收集整理的c – 此代码中切换/默认的任何奇怪目的?全部内容,希望文章能够帮你解决c – 此代码中切换/默认的任何奇怪目的?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1222233.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存