是否可以将枚举类成员标记为已弃用?

问题描述

我已经养成了在 C++ 中使用新的枚举类(或强枚举)的习惯。现在,我需要弃用一个成员。

但是,标准的 enum 弃用语法(如以下问题中所述)无法编译。 c++ mark enum value as deprecated?

这是我的期望:

enum class MyEnum {
    ORIGINAL [[deprecated("Use `PRIMARY` instead.")]] = 1,PRIMARY = 1,SECONDARY = 2,THIRD = 3
};

结果:

...: error: expected '}' before '[' token
     ORIGINAL [[deprecated]] = 1,^

乍一看,我可以看到此语法适用于 enum MyEnum ...,而不是 enum class MyEnum ...

我在 CPP Reference 上似乎也找不到任何相关信息: https://en.cppreference.com/w/cpp/language/attributes/deprecated

我是否遗漏了什么,或者弃用 enum class 成员的适当方法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)