//いくつかの static 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
}
// この "Note 1960: Violates MISRA C++ 2008 Required Rule 5-0-12, Disallowed use of non-numeric value in a case label" に対する PC-lint の苦情
問題は、なぜ PC-lint が static const メンバーを数値と見なさないのかということです。
キャスト ケース ラベルを明示的に入力することをお勧めします (これで解決するはずです)。
ケースのラベルを型キャストする必要があるのはどの型ですか? やるだけuint8_t
?
このリントの問題を免除する他の方法はありますか?