4
我有一個類型化的枚舉C++ 11鑄造枚舉到整數
enum side : int {_white=0,
_yellow=1,
_green=2,
_blue=3,
_red=4,
_orange=5};
然而,使用gcc-5,編譯器說,它無法在下列情況下使用的static_cast:
side value
function(static_cast<int *>(&value))
爲什麼就是它?做static_cast<int>(value))
不會產生任何錯誤。
不同類型,你不應該使用'reinpterpret_cast'? –
您可以將bool轉換爲double,但這並不意味着bool指針可以被有意義地視爲雙指針。 –
我以爲一個枚舉枚舉實質上是相同的數據類型,但?由於它被鍵入爲「int」,編譯器應該能夠接受'static_cast'否?顯然使用'reinterpret_cast'的作品,但它有點代碼味道。 –