Анализатор обнаружил потенциальную ошибку внутри оператора switch. Используется метка с именем похожим на 'default'. Возможно, это опечатка.
Рассмотрим пример:
int c = getValue(); double weightCoefficient = 0; switch(c){ case 1: weightCoefficient += 3 * (/*math formula #1*/); case 2: weightCoefficient += 7 * (/*math formula #2*/); defalt: weightCoefficient += 0.42; }
Кажется, после того, как этот код отработает, значение переменной 'weightCoefficient' будет 0.42. Но на самом деле значение 'weightCoefficient' останется равным нулю. Дело в том, что 'defalt' это метка, а не оператор 'default'. Исправленный вариант кода:
int c = getValue(); double weightCoefficient = 0; switch(c){ case 1: weightCoefficient += 3 * (/*math formula #1*/); case 2: weightCoefficient += 7 * (/*math formula #2*/); default: weightCoefficient += 0.42; }
Эта диагностика срабатывает также, когда имя метки начинается с 'case'. Есть вероятность, что пропущен пробел. Например, вместо метки 'case1:', должно быть написано 'case 1:'.
Данная диагностика классифицируется как:
|