我有一个枚举类型StackID,我使用枚举来引用特定向量的索引,它使我的代码更容易阅读.
但是,我现在需要创建一个名为nextAvailtype 的变量StackID.(它实际上指的是特定的stackID).我尝试增加它,但在C++中,以下是非法的:
nextAvail++;
Run Code Online (Sandbox Code Playgroud)
哪种对我有意义...因为没有界限检查.
我可能忽略了一些明显的东西,但什么是一个很好的替代品呢?
我也想链接到这个问题.
我有一个键入的枚举
enum side : int {_white=0,
_yellow=1,
_green=2,
_blue=3,
_red=4,
_orange=5};
Run Code Online (Sandbox Code Playgroud)
但是,使用gcc-5,编译器说它在以下场景中不能使用static_cast:
side value
function(static_cast<int *>(&value))
Run Code Online (Sandbox Code Playgroud)
这是为什么?做static_cast<int>(value))不会引起任何错误.