C( C ++ではなく)での暗黙的なenumからint(またはその逆)への変換に対してgccに警告を発行させる方法はありますか。
暗黙の変換が少しずさんな場合があることがわかりました。これに関連して発生したバグを追跡するのに長い時間を費やしています。
C( C ++ではなく)での暗黙的なenumからint(またはその逆)への変換に対してgccに警告を発行させる方法はありますか。
暗黙の変換が少しずさんな場合があることがわかりました。これに関連して発生したバグを追跡するのに長い時間を費やしています。
C ではenum
、言語の定義による an の定数は型int
ではなく型であるため、暗黙的な変換警告はありませんenum
。コンパイラにこれらのことについて警告させる場合、2 行目には警告がありますが、3 行目にはありません。
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