免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123456
最近访问板块 发新帖
楼主: prolj
打印 上一主题 下一主题

你会改掉所有Warning么? [复制链接]

论坛徽章:
0
51 [报告]
发表于 2009-12-10 22:45 |只看该作者
原帖由 zx_wing 于 2009-12-4 10:47 发表

这个没有关系的,由编译器不同引起的warning大多都是一些对规则的解释不同,并不暗示隐藏的bug。
只要保证在本地开-Wall -Werror编译无warning即可,但代码发布的时候一定要记得去掉,以免别人使用不同版本的 ...


有道理.

论坛徽章:
0
52 [报告]
发表于 2009-12-10 22:54 |只看该作者


  1. int f1(int var)
  2. {
  3.         if(var<0)
  4.         {
  5.                 return(-1);
  6.         }
  7.         else if(var==0)
  8.         {
  9.                 return(0);
  10.         }
  11.         else if(var>0)
  12.         {
  13.                 return(1);
  14.         }
  15. }
复制代码

warning C4715: 'f1' : not all control paths return a value
test - 0 个错误,1 个警告
========== 全部重新生成: 1 已成功, 0 已失败, 0 已跳过 ==========

注: 是在vc 2005 环境下,lx也是.

[ 本帖最后由 system888net 于 2009-12-10 22:59 编辑 ]

论坛徽章:
0
53 [报告]
发表于 2009-12-10 22:56 |只看该作者

  1. int f1(int var)
  2. {
  3.         if(var<0)
  4.         {
  5.                 return(-1);
  6.         }
  7.         else if(var==0)
  8.         {
  9.                 return(0);
  10.         }
  11.         else if(var>0)
  12.         {
  13.                 return(1);
  14.         }
  15.         return(88);
  16. }
复制代码

test - 0 个错误,0 个警告
========== 全部重新生成: 1 已成功, 0 已失败, 0 已跳过 ==========

论坛徽章:
0
54 [报告]
发表于 2009-12-13 13:33 |只看该作者
最后一个不应当加if吧,既然自己都清楚是所有分支了,为什么 还要else if多此一举
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP