不应将负数转为无符号数
12.4 ID_negativeUnsignedCast
负数转为无符号数的适用场景有限,易导致意料之外的错误,应避免负数与无符号数的隐式转换,相关显式转换也应在合理的条件下完成。
本规则是 ID_signChangeCast 的特化。
示例:
size_t foo() {
if (cond) {
return -1; // Non-compliant
}
....
}
相关
参考
CWE-195
MISRA C++ 2008 5-0-4