“result of unsigned comparison is constant”报错
编译时出现: result of unsigned comparison is constantexpression with no effect elided
这两个警告。实在不懂如何解决。在网站上也找不到有效的办法。虽然不影响程序的运行,但怕留下后患。
希望高手们帮忙解决一下。 本帖最后由 HuangTing 于 2013-1-7 17:18 编辑
碰到了同样的问题。
错误解释:
result of unsigned comparison is constan:无符号数比较的结果是个常量
expression with no effect elided: 本语句执行完毕后没有任何效果(即跟执行1条NOP语句一样,或跟没有本语句一样)。
原因:定义的无符号变量,但程序中却有判断本无符号变量是否有小于0的情况存在,因为它只能大于等于0,不可能小于0,故此条命令相当于,判断1是否大于0一样,它肯定大于0,所以是无效代码,违反了当初写此条语句的本意。
解决方法:照你的本意去设计变量类型(如将无符号改为有符号定义),或将变量与0比较的地方别让它是与0进行比较(永远大于等于0,还比较个鸟啊,毫无意义嘛)。
页:
[1]