У меня есть C++ код, который содержит:Klocwork CWARN.SIGNEDBIT на неподписанные символ
struct Struct
{
uint8_t varA : 1;
uint8_t varB : 1;
uint8_t varC : 1;
};
Когда я бегу Klocwork 10 на нем, я получаю предупреждение:
CWARN.SIGNEDBIT (4:Review) Analyze
Bit field 'varA' has one bit and is signed
И то же самое для других переменных в этой структуре. uint8_t is unsigned char typedef. Когда я пытаюсь использовать подписанный char, тогда я получаю сообщение об ошибке, а не предупреждение, как здесь. Использование unsigned int решает проблему, но я хочу использовать char.
Мой вопрос: Почему это предупреждение появляется и как его решить?
Я предлагаю связаться с Klocwork и представить это как ошибку. В худшем случае они объяснят это и помогут вам решить проблему. –