我必须使用枚举来表示难度级别。这是代码。

// 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/

10-11 22:42
查看更多