Выражение || всегда равно ненулевой константе

Всем привет. Не могу понять предупреждение.
Предупреждение C6236 (<выражение> || <ненулевая константа>) всегда равно ненулевой константе. Что в этом коде не так написано? Сущетсвует другое или специально для строк?

bool fun()
{
    char str5 = 'б';
    if (str5 == 'а' || 'б' )
    {
        cout << "true" << endl;
        return true;
    }
}

Ответы (1 шт):

Автор решения: こきん

Ваше выражение дословно читается как:

if ( (str5 == 'a') || true ) { ... } /* ВСЕГДА true */

Быть может вы хотели написать:

if ( (str5 == 'a') || (str5 == 'b') ) { ... }

?

→ Ссылка