メインコンテンツ

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

MISRA C:2012 Rule 10.6

The value of a composite expression shall not be assigned to an object with wider essential type

説明

ルール定義

The value of a composite expression shall not be assigned to an object with wider essential type 1 .

根拠

"複合式" は複合演算子を使用した非定数式です。実質的な型モデルでは、複合演算子は以下になります。

  • 乗算 (*/%)

  • 加算 (二項 +、二項 -)

  • ビット単位 (&|^)

  • シフト (<<>>)

  • 条件 (?:)

~ などの単項演算子と単項の + または - も、複合演算子と見なされます。

複合式の結果をより大きな型に代入すると、暗黙的な変換により値、符号、精度、レイアウトの損失が起こる可能性があります。

実質的な型についての詳細は、MISRA C Rule 10.x の実質的な型を参照してください。

トラブルシューティング

ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。

チェック情報

グループ: 実質的な型モデル
カテゴリ: 必要
AGC カテゴリ: 推奨

バージョン履歴

すべて展開する


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.