我刚开始用c++编写代码。我的第一个任务是创建一组枚举,并使用枚举值作为每个字符串值的键在set中传递字符串值。我不知道该怎么做。
我最好的猜测是。
typedef enum sendDataElements
{
Data1,
Data2,
Data3,
Data4,
}
std::set<string, sendDataElements> m_modules;
m_modules.insert(message, Data1);
但是不能编译。请帮帮忙。
发布于 2018-08-02 03:58:39
#include <map>
int main()
{
enum SendDataElements
{
SEND_DATA_1,
SEND_DATA_2,
SEND_DATA_3,
SEND_DATA_4,
};
std::map<std::string, SendDataElements> modules;
modules["poop"] = SEND_DATA_1;
}
正如其他人在原始问题的注释中所说的那样,std::set只接受键,而您正在尝试存储键和值。您可能正在寻找使用地图。我还更新了枚举的样式。
https://stackoverflow.com/questions/51641103
复制相似问题