MISRA C++:2008 Rule 3-1-1

Должно быть возможно включать любой заголовочный файл в несколько модулей перевода, не нарушая Одно Правило Определения

Описание

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

Должно быть возможно включать любой заголовочный файл в несколько модулей перевода, не нарушая Одно Правило Определения.

Объяснение

Если заголовочный файл с переменными или функциональными определениями появляется в нескольких путях к включению, заголовочный файл нарушает Одно Правило Определения, возможно ведущее к непредсказуемому поведению. Например, исходный файл включает заголовочный файл include.h и другой заголовочный файл, который также включает include.h.

Реализация Polyspace

Средство проверки правила отмечает переменные и функциональные определения в заголовочных файлах.

Обменивайтесь сообщениями в отчете

Должно быть возможно включать любой заголовочный файл в несколько модулей перевода, не нарушая Одно Правило Определения.

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

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

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

Группа: фундаментальные понятия
Категория: необходимый

Введенный в R2013b