1
有沒有什麼辦法在C(不 C++)隱枚舉爲int(反之亦然)轉換GCC發出警告。有什麼辦法讓隱式枚舉在C中的int轉換的gcc問題警告?
我發現隱式轉換可以一點點馬虎,我花了很長一段時間跟蹤我造成了錯誤,這是與此有關。
有沒有什麼辦法在C(不 C++)隱枚舉爲int(反之亦然)轉換GCC發出警告。有什麼辦法讓隱式枚舉在C中的int轉換的gcc問題警告?
我發現隱式轉換可以一點點馬虎,我花了很長一段時間跟蹤我造成了錯誤,這是與此有關。
在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
你可能想看看'Splint' http://www.splint.org/否則我不會看到一個方法。手動4.1.2節看起來有用http://www.splint.org/manual/manual.html –
是不是''enum's int's? – alk