我已在程序中使用以下代碼,並在運行PC-Lint時拋出以下錯誤: 此行的多個標記 - (lint:46)field類型應該是int,unsigned int類型或符號int [MISRA 2004年規則6.4,必需] - (皮棉:960)違反MISRA 2004年所需的規則6.4,位字段必須明確地簽署int或 unsigned int類型MISRA錯誤:字段類型應該是int,unsigned int或signed int
typedef struct{
boolean ch8 :1;
boolean Ch7 :1;
boolean Ch6 :1;
boolean Ch5 :1;
boolean Ch4 :1;
boolean Ch3 :1;
boolean Ch2 :1;
boolean Ch1 :1;
} Channel;
有人能告訴我如何解決這個問題嗎?
什麼是'DC_BOOL'? – 2014-11-01 09:00:23
那麼,布爾什麼? C中沒有'boolean'類型。 – 2014-11-01 09:05:59
很可能,您的編譯器將布爾值定義爲1字節的字符類型。在任何情況下都不要使用位域來解決這個問題,它們是危險的,不可移植的,並且是100%多餘的。 – Lundin 2014-11-10 14:02:58