V8019. Two or more equivalent expressions are specified inside the case expression list.
Анализатор обнаружил использование эквивалентных выражений для одного и того же case в конструкции switch.
Рассмотрим пример:
switch {
case s == "start", s == "start":
Start()
case s == "stop":
Stop()
}
Использование одинаковых выражений s == "start" не имеет смысла:
- если первое выражение вычисляется как
true, то поток управление зайдёт в ветку, минуя второе выражение; - если первое выражение вычисляется как
false, то второе будет вычислено точно так же, и поток управления пропустит эту ветку.
Скорее всего, произошла опечатка, и вместо второго эквивалентного выражения должно быть что-то другое.
Исправленный вариант:
switch {
case s == "start", s == "begin":
Start()
case s == "stop":
Stop()
}