MISRA C++:2008 Rule 5-2-7
An object with pointer type shall not be converted to an unrelated pointer type, either directly or indirectly
描述
规则定义
An object with pointer type shall not be converted to an unrelated pointer type, either directly or indirectly. 1
理由
如果将一个指针转换为不相关类型的指针,该操作的结果是未指定的。为避免出现意外结果,请不要将指针转换为不相关的指针类型。
Polyspace 实现
检查项会标记所有指针转换,包括指向 struct 对象的指针与指向同一 struct 类型的第一个成员的指针之间的转换。
从指针到非指针类型的间接转换不会被检测到。
故障排除
如果您预期会出现违规,而 Polyspace® 未报告该违规,请参阅诊断为何编码规范违规未按预期显示。
检查信息
| 组:表达式 |
| 类别:必需 |
版本历史记录
在 R2013b 中推出
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.