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

\символ не должен происходить на имя заголовочного файла

Описание

Управляйте определением

\символ не должен происходить на имя заголовочного файла.

Объяснение

Вы включаете заголовочные файлы в исходный файл путем включения его имени между разделителями <> или "". Используя символьный \между разделителями < и > или между разделителями " неопределенное поведение. Используя / в заголовочном файле имя может привести к неожиданному поведению.

Некоторые среды используют символьный \ как разделитель имени файла, например, при описании путей. Компиляторы для этих сред могут поддержать использование \ в #include директива.

Реализация Polyspace

Polyspace® повышает нарушение этого правила если символьный \ происходит на имя заголовочного файла.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.

Примеры

развернуть все

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

В этом примере Polyspace отмечает #include операторы, которые имеют имена заголовочного файла где \ символ происходит.

Проверяйте информацию

Группа: предварительная обработка директив
Категория: консультация
Введенный в R2013b