メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。

チェック情報

グループ: Expressions
カテゴリ: 必要

バージョン履歴

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.