大佬教程收集整理的这篇文章主要介绍了clang tutological-constant-out-of-range-compare warning,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <stdio.h> typedef enum { a,b } sample_enum_t; int main() { sample_enum_t sample_enum = -1; if (sample_enum == -1) { printf("Equals\n"); } }
编译给了我一个警告:
$clang -o test test.c test.c:11:21: warning: comparison of constant -1 with expression of type 'sample_enum_t' is always false [-Wtautological-constant-out-of-range-compare] if (sample_enum == -1) { ~~~~~~~~~~~ ^ ~~ 1 warning generated.
如果我执行它以“Equals”打印的程序,那么比较总是假的,这显然是不正确的:
$./test Equals
这是一个铿锵的错误还是我错过了什么?我明白将-1分配给sample_enum变量并不是一个好主意,但它是一个有效的行,并且clang因为该行而没有给我一个警告.
我正在使用clang 3.5.2
以上是大佬教程为你收集整理的clang tutological-constant-out-of-range-compare warning全部内容,希望文章能够帮你解决clang tutological-constant-out-of-range-compare warning所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。