c++ - 如何从键盘调用枚举器?
问题描述
我最近刚开始学习 C++,我想知道是否可以通过在键盘上键入枚举器的名称来调用枚举器。请帮忙。对不起,如果我犯了任何语法错误。
int main()
{
enum MonsterRaces
{
orcs = 1,
goblins l = 2,
trolls = 3,
};
std::cout << "Enter your monster race: ";
std::string x;
std::getline(std::cin, x);
MonsterRaces yourPick = x;
std::cout << "You've picked races numbered: " << yourPick;
return 0;
}
它打印
“无法在初始化中将 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' 转换为 'main()::MonsterRaces'”
解决方案
你需要使用std::map
. 把这个放在某个地方:
const std::map<std::string, int> table {
{"orcs" , 1},
{"goblins", 2},
{"trolls" , 3},
};
然后使用
std::cout << table.at(yourPick);
推荐阅读
- c - 获取指针地址并对它们执行操作
- java - 在 RestController 方法中获取 ServerWebExchange
- excel - 如何从可见单元格返回文本?
- php - 在多个子域内维护同一个项目
- android - Android textDirection anyRtl 不适用于英文文本
- webdriver-io - WebdriverIO Chromedriver服务安装后失败
- codenameone - 如何在我的客户苹果 ID 中上传 iOS 应用程序
- android - 如何在 React Native 中使用自定义抽屉导航器突出显示当前选项卡
- javascript - 使用正则表达式验证图像标记
- django - 在 django 中发送数据而不创建表单