-1

在定义网络消息结构时:

  1. 想要将 Op 字段保存为枚举(以限制允许的值)。
  2. 需要将所有字段保持为无符号,并且 Op 具体为 uint32_t。

有没有办法结合这些要求?类似: typedef enum Op : uint32_t {save = 100, retrieve = 101, delete = 200};

4

1 回答 1

1

"100" "101" "200

嗯,我不太明白这些字符串是什么意思?你的问题对我来说不是很清楚。

听起来您想要的是enum classScoped 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
};
于 2020-12-31T09:09:54.030 回答