有没有办法让 gcc 在 C(不是C++)中发出隐式枚举到 int(反之亦然)转换的警告。
我发现隐式转换可能有点草率,我花了很长时间追踪我造成的与此相关的错误。
有没有办法让 gcc 在 C(不是C++)中发出隐式枚举到 int(反之亦然)转换的警告。
我发现隐式转换可能有点草率,我花了很长时间追踪我造成的与此相关的错误。
在 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