メインコンテンツ

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

MISRA C++:2008 Rule 16-2-5

The \ character should not occur in a header file name.

説明

ルール定義

The \ character should not occur in a header file name. 1

根拠

ソース ファイルにヘッダー ファイルをインクルードするには、区切り記号 <> または "" でその名前を囲みます。区切り記号 <> で囲まれている部分、または区切り記号 " で囲まれている部分で文字 \ を使用することは、未定義の動作です。ヘッダー ファイル名に / を使用すると、予期しない動作が発生する可能性があります。

一部の環境では文字 \ がファイル名の区切り記号として使用されます (パスを記述する場合など)。このような環境のコンパイラでは、#include 命令での \ の使用がサポートされていることがあります。

Polyspace 実装

文字 \ がヘッダー ファイル名に含まれている場合、Polyspace® はこのルールの違反を報告します。

トラブルシューティング

ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。

すべて展開する

#include"incguard\5\.h" //Noncompliant
#include"inc\\guard.h" //Noncompliant

この例では、\ 文字を含むヘッダー ファイル名が指定されている #include ステートメントに対し、Polyspace がフラグを設定します。

チェック情報

グループ: Preprocessing Directives
カテゴリ: 推奨

バージョン履歴

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.