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'的作品,但它有点代码味道。 –