//дефинирани са някои статични const променливи
static const uint8_t FirstData = 1;
static const uint8_t SecondData = 2;
//някакъв превключващ случай
switch (Numdata) //Numdata is either FirstData, SecondData
{
case FirstData:
//some code
case SecondData:
//some code
}
// Сега оплаквания от PC-lint за тази „Бележка 1960: Нарушава изискваното правило 5-0-12 на MISRA C++ 2008, Забранена употреба на нечислова стойност в етикет за регистър“
Така че въпросът е защо PC-lint не разглежда статичните const членове като числова стойност?
Добра идея ли е изрично да въвеждате етикети за cast case (което трябва да разреши това)?
към какъв тип трябва да се преобразуват етикетите на case? Ще стане ли само uint8_t
?
Някакъв друг начин за освобождаване на този проблем с Lint?