MISRA C++:2008 Rule 2-13-2
Octal constants (other than zero) and octal escape sequences (other than "\0") shall not be used.
説明
ルール定義
Octal constants (other than zero) and octal escape sequences (other than "\0") shall not be used. 1
根拠
8 進数の定数は先頭の 0 で表されます。開発者またはコード レビュー担当者は 8 進数の定数を、先頭に冗長な 0 をもつ 10 進数の定数と勘違いする可能性があります。
\ で始まる 8 進数のエスケープ シーケンスも混乱を招くことがあります。\ の後ろの数字列に誤って 8 または 9 を導入すると、エスケープ シーケンスが分割されて新しい数字が導入されます。開発者またはコード レビュー担当者はこの問題を無視して、引き続きエスケープ シーケンスを 1 つの数字として扱う可能性があります。
Polyspace 実装
ルール チェッカーは以下の場合に違反を報告します。
先頭がゼロで始まる定数。
直後にゼロが続く、
\で始まるエスケープ シーケンス。
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: Lexical Conventions |
| カテゴリ: 必要 |
バージョン履歴
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.