在C ++中,或更具体地说,在虚幻引擎Ufunction中,我需要基于整数创建一个Enum数组。 (我的输出基于Enum,据我所知,没有其他方法。)
虽然我有基本的编码知识,但是我对C ++还是比较陌生。枚举对我来说是新手,可能是我误解了枚举的本质。
该数组最初是空的,需要根据我的整数输入进行填充以包含N个成员。我用什么方法来解决这个问题?
输出看起来像这样:
enum class myEnum : uint8{
Enum1,
Enum2,
Enum3,
Enum4,
Enum5,
}
答案 0 :(得分:0)
虽然您可以在运行时使用元素更新数组(因为它只是数据),但枚举指定类型,并且类型定义必须在编译时可解析(这是一件好事!)。因此,没有简单的方法可以实现您的期望。
一个建议是使用std :: set,它在功能上与枚举非常相似,并且还提供了稍后对其进行操作的方法,这可能对您的用例有利。
答案 1 :(得分:0)
Enum是您自己的数据类型,它基于int。请参见下面的代码:
enum YOUR_ENUM
{
YOUR_AGE = 20, //assigned 20 by programmer
YEAR = 2019, //assigned 2019 by programmer
NEXT_YEAR, //assigned 2020 by compiler
NEXT_NEXT_YEAR //assigned 2021 by compiler
};
using namespace std;
int main()
{
cout << YOUR_AGE << endl;
cout << YEAR << endl;
cout << NEXT_YEAR << endl;
cout << NEXT_NEXT_YEAR << endl;
}