在定义网络消息结构时:
- 想要将 Op 字段保存为枚举(以限制允许的值)。
- 需要将所有字段保持为无符号,并且 Op 具体为 uint32_t。
有没有办法结合这些要求?类似: typedef enum Op : uint32_t {save = 100, retrieve = 101, delete = 200};
在定义网络消息结构时:
有没有办法结合这些要求?类似: typedef enum Op : uint32_t {save = 100, retrieve = 101, delete = 200};
"100" "101" "200
嗯,我不太明白这些字符串是什么意思?你的问题对我来说不是很清楚。
听起来您想要的是enum class
(Scoped enumerations)。
enum class Op : uint32_t
{
_100 = 100,
_101 = 101,
_200 = 200
};
限制允许的值
是的。
需要将所有字段保持为无符号,并且 Op 具体为 uint32_t。
是的。
您应该将这些枚举器命名为有意义的名称,而不是与值相同的名称。
根据您编辑的帖子:
enum class Op : uint32_t
{
save = 100,
retrieve = 101,
delete_ = 200
};