1. ...
  2. ...
  3. ...
  4. Решение задачи на тему: «В чем шибка? enum Test { PLUS, MINUS }; string a = "...»
Решение задачи

В чем шибка? enum Test { PLUS, MINUS }; string a = "PLUS"; for(int i=0; i < 2; i++){ if(a == Test::P...

Программирование

Условие:

В чем шибка? enum Test { PLUS, MINUS }; string a = "PLUS"; for(int i=0; i < 2; i++){ if(a == Test::PLUS){ cout << i; } }

Решение:

Ошибка в данном коде заключается в сравнении строки "PLUS" с элементом перечисления Test::PLUS. В языке программирования C++, строки и перечисления различаются и не могут быть прямо сравниваемыми.

Если вы хотите проверить, равна ли строка "PLUS" значению Test::PLUS, вам нужно сначала преобразовать строку в соответствующее значение перечисления. В данном случае, можно использовать условное выражение для проверки:

enum Test {
    PLUS,
    MINUS
};

string a = "PLUS";
for(int i=0; i < 2; i++){
    if(a == (Test::PLUS == 0 ? "PLUS" : "MINUS")){
        cout << i;
    }
}

В этом коде мы используем условное выражение (Test::PLUS == 0 ? "PLUS" : "MINUS"), чтобы преобразовать значение перечисления Test::PLUS в строку "PLUS" и сравнить его с переменной a.

Похожие работы

Попробуй и другие функции

  • ИИ для любых учебных целей

    • Научит решать задачи

    • Поможет решать задачи

    • Исправит ошибки в решении

    • Ответит на вопросы за минуту

    Попробовать
  • База готовых рефератов

    • Свыше 1,2 млн работ

    • Больше 160 предметов

    • Работы написали студенты вместе с AI

    • База ежедневно обновляется

    Попробовать

Решения по другим предметам