1

有没有办法让 gcc 在 C(不是C++)中发出隐式枚举到 int(反之亦然)转换的警告。

我发现隐式转换可能有点草率,我花了很长时间追踪我造成的与此相关的错误。

4

1 回答 1

0

在 C 中没有隐式转换警告,因为根据enum语言定义的常量int不是类型的enum类型。如果您让编译器对这些事情发出警告,您将在第二行而不是第三行收到警告:

enum things { thing };       //< declaration of a constant of type int
enum things thingy = thing;  //< implicit conversion from int to enum things
enum things thingi = thingy; //< no conversion
于 2013-05-16T20:35:53.973 回答