
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 – 此代码中切换/默认的任何奇怪目的?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)