Типы операндов несовместимы ("char" и " const char*")

Я получаю следующую ошибку...

типы операндов несовместимы ("char "и"const char*")

... при попытке выполнить оператор if. Я предполагаю, что я не понимаю, как хранится входное значение, хотя я не уверен, могу ли я просто привести его в соответствующий тип?

пример кода для воспроизведения:

char userInput_Text[3];

if (userInput_Text[1] == "y") {
    // Do stuff.
}

Я не уверен, что вызывает это. Казалось бы, один тип-это char, а другой является указателем const char, хотя я не уверен, что, для справки, эта ошибка также возникает, когда я не использую массив).

и советы / обратная связь будет высоко ценится.

1 ответов


двойные кавычки ярлыка синтаксис C-строка в C++. Если вы хотите сравнить один символ, вы должны использовать одинарные кавычки вместо этого. Вы можете просто изменить свой код на это:

char userInput_Text[3];

if (userInput_Text[1] == 'y') { // <-- Single quotes here.
    // Do stuff.
}

Для справки:

  • "x" = const char *
  • 'x' = char