如何将set和enum一起使用
How to use set and enum together?
我刚开始用c++进行编码。我的第一个任务是创建一组枚举,并使用枚举值作为每个字符串值的键来传递集合中的字符串值。我不知道该怎么做。
我的最佳猜测。
typedef enum sendDataElements
{
Data1,
Data2,
Data3,
Data4,
}
std::set<string, sendDataElements> m_modules;
m_modules.insert(message, Data1);
但不编译。请帮忙。
#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只接受键,而您正试图存储键和值。你可能想使用地图。我还更新了您枚举的样式。
相关文章:
- enum是C++中的宏变量还是整数变量
- 是否可以从int转换为enum类类型
- 如何将enable-if与模板参数和参数包一起使用
- 如何将PERF_AMPLE_READ与mmap一起使用
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 在一个模板函数中,若输入的类型是enum类,我该如何使用std::underlying_type
- 如何将C++中的库和头与MinGW一起使用
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 为什么我不能将 rand() 与数组的大小一起使用?
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 不能将复制初始化与隐式转换的多个步骤一起使用
- 将fold表达式与std::一起用于两个元组
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 将 std::allocate_shared 与多态资源分配器一起使用
- 在C++中,将int值赋给enum,反之亦然
- 为什么常量词在重载运算符中不与 ostream 对象一起使用<<?
- 两个 COM 组件中 ENUM 的重复条目
- 如何将set和enum一起使用
- 将enum类与std::bitset一起使用
- qmlRegisterType与Q_ENUM和typedef enum一起使用