小编kun*_*han的帖子

为什么'typeof enum constant'在与枚举类型的变量相比时会产生警告?

我有以下代码.

typedef enum {FOO, BAR} Baz;

int main()
{
    Baz f1 = FOO;
    typeof(FOO) f2 = FOO;
    return (f1 == f2);
}
Run Code Online (Sandbox Code Playgroud)

我的编译使用gcc -Wextra foo.c生成警告说

foo.c: In function ‘main’:
foo.c:7:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 return (f1 == f2);
             ^
Run Code Online (Sandbox Code Playgroud)

我的gcc版本

gcc --version
gcc (Ubuntu 4.9.2-10ubuntu13) 4.9.2
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

c enums gcc

21
推荐指数
2
解决办法
921
查看次数

标签 统计

c ×1

enums ×1

gcc ×1