gpt4 book ai didi

c++ - 初始化枚举到结构的映射

转载 作者:行者123 更新时间:2023-11-30 03:35:06 25 4
gpt4 key购买 nike

在 C++ 中,我试图将枚举值的 std::map 初始化为结构。

在头文件中:

enum ePrompts
{
ePrompt1,
ePrompt2,
...
};

enum eDataTypes
{
eIntegers,
eDoubles,
...
};

struct SomeInfo
{
std::string text;
eDataTypes type;
float minVal;
float maxVal;
};

std::map<ePrompts, SomeInfo> mInfoMap;

在cpp文件中:

void SomeClass::InitializeThis()
{
// I would like to have an approach that allows one line per entry into the map
mInfoMap[ePrompt1] = (SomeInfo){"text1", eIntegers, 2, 9}; //Error: Expected an expression

// Also tried
SomeInfo mInfo = {"text1", eIntegers, 2, 9};
mInfoMap[ePrompt1] = mInfo; // works
mInfo = {"text2", eIntegers, 1, 5}; //Error: Expected an expression
}

我可能在这里遗漏了一些非常简单的东西,但我已经通过 Stack Overflow 进行了大量搜索,但没有得出有人这样做的任何结果。任何帮助将不胜感激!

最佳答案

你的第一行有正确的想法。它只需要一点点改变:

mInfoMap[ePrompt1] = SomeInfo{"text1", eIntegers, 2, 9};

关于c++ - 初始化枚举到结构的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41491414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com