C++ 如何将int转换为枚举值c++;
我该怎么做C++ 如何将int转换为枚举值c++;,c++,enums,C++,Enums,我该怎么做 int k = 23; enum stat_t { first = 0, second, last = k }; 也许你知道我怎么做吗?使用const int const k = 23; enum stat_t { first = 0, second, last = k }; 使常数int k=23。这没有多大意义。枚举是声明,需要在编译时知道。这里的int k是一个非常量变量。如果它是const/constexpr,那么您也可
int k = 23;
enum stat_t {
first = 0,
second,
last = k
};
也许你知道我怎么做吗?使用
const
int const k = 23;
enum stat_t {
first = 0,
second,
last = k
};
使
常数int k=23代码>。这没有多大意义。枚举是声明,需要在编译时知道。这里的int k是一个非常量变量。如果它是const/constexpr,那么您也可以编写last=23@StarShine:除非命名常量(k
)出现在多个地方。那么为什么不使用枚举呢?@StarShine:例如,传达作者的意图。首先是使用命名常量的原因。并不是说k
特别具有描述性,而是OP的代码仅仅说明了这个问题。它的工作!谢谢这是一个例子,我试了一下,我需要做这个int k=vector.size();枚举stat_t{first=0,second,last=k};