Я новичок в C ++.
string str = "WWWHBBB";
if(str[mid] == "H" && str[0] != "W") return; // corrected after comments for second operand
Приведенная выше строка с условием if
выдает ошибку.
Сравнение указателя и целого числа ('std :: __ 1 :: basic_string, std :: __ 1 :: allocator> :: value_type' (aka 'char') и 'const char *')
Я достаточно искал в Интернете, чтобы знать, что доступ к стилю массива подходит для строк. Ошибка в основном указывает на сравнение указателя и целого числа. Действительно? Я думал, что сравниваю символ H
с другим символом в строке str
.
Я пробовал, если str[mid]
действительно возвращает итератор, я должен сделать *str[mid]
. Неа! Тоже не сработало.
const char*
), если вам нужен символьный литерал, используйте одинарные кавычки. - person flowit   schedule 31.03.2020