【发布时间】:2021-04-14 22:30:15
【问题描述】:
如何通过“项目索引”而不是“值索引”对枚举进行索引:
“价值索引”(对我正在做的事情没有用):
eSerialBauds eBaud = static_cast<eSerialBauds>(1200); // yields eBaud1200
我想要“项目索引”:(如何获得以下内容?)
eSerialBauds eBaud = static_cast<eSerialBauds>(3); // to yield eBaud1200
// values (from WinBase.h)
#define CBR_110 110
#define CBR_300 300
#define CBR_600 600
#define CBR_1200 1200
#define CBR_2400 2400
enum class eSerialBauds
{
eBaud110 = CBR_110,
eBaud300 = CBR_300,
eBaud600 = CBR_600,
eBaud1200 = CBR_1200,
eBaud2400 = CBR_2400,
}
请注意,我是从另一个班级获得这个枚举班级的。有许多。所以我必须使用给我的东西。
我确实写了一个变通方法,但如果有一个更优雅的方法来获得结果会很好。
【问题讨论】:
-
nvm 我读得太快了。我撤回我的重复投票。这不是Conversion from int to enum class type possible?
-
我的问题对其他人来说足够清楚吗?
-
我想是的,我只是粗心,但留下了评论,所以没有其他人也投票给它。
-
我使用的目标使用
enum而不是enum class,但基本上是同一个问题。如果您认为这不是一个合适的目标,请联系我。 -
问题已关闭,但如果您想保持相同的语法,您可以这样做:replit.com/@Ranoiaetep/ExperiencedDeadTerabyte#main.cpp
标签: c++ enum-class