我有這樣的功能:文字零,而不是空指針常數警告由MISRA
void InitS(unsigned int &numS){
// this function returns a container for unsigned int
// but it has a cast for int
numS = props.numOfS();
if (numS > 0) {
..
}
}
它編譯,但給了我這個MISRA警告:
MISRA-C++規則4-10- 2(必需):文字零(0)不能用作空指針常量。現在
,如果numShots
是一個「真正的」指針我可能已經改變0
到NULL
。但numShots
是參考,我應該把它當作int
。
MISRA需要什麼?爲什麼?
看起來像一個bug給我。 – PlasmaHH 2013-03-05 15:42:44
如果這是代碼的正確表示,那麼我同意,那裏沒有錯誤。 – 2013-03-05 15:43:01
你確定'if(numS> 0)'是產生警告的行嗎? – Angew 2013-03-05 15:43:33