我必须使用枚举来表示难度级别。这是代码。
// Menu Chooser
// Demonstrates the switch statement
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << "Difficulty Levels\n\n";
cout << "1 - Easy\n";
cout << "2 - Normal\n";
cout << "3 - Hard\n\n";
enum userChoice {Easy, Normal, Hard};
userChoice choice;
cout << "Choice: ";
cin >> choice;
switch (choice)
{
case 1:
cout << "You picked Easy.\n";
break;
case 2:
cout << "You picked Normal.\n";
break;
case 3:
cout << "You picked Hard.\n";
break;
default:
cout << "You made an illegal choice.\n";
}
return 0;
}
和错误消息:
错误C2678:二进制'>>':找不到左手运算符
类型为'std :: istream'的操作数(或没有可接受的转换)
最佳答案
读取用户输入时,不能期望他们输入正确的值。但是,这对于您的任务来说似乎是极端的。
我的第一个想法是只读取一个int,然后将其转换为枚举。
int input;
cin >> input;
userChoice choice = (userChoice)input;
这应该可以,但是我还没有测试过。
关于c++ - 我需要使用一个枚举来表示困难级别。我不断收到有关使用cin的错误>>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25655088/