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

Тип, объект или функция, которая используется в нескольких модулях перевода, должны быть объявлены в одном и только одном файле

Описание

Эта проверка деактивирована в Polyspace по умолчанию® по мере анализа You Code. Смотрите Checkers Deactivated in Polyspace как You Code Default Analysis (Polyspace Bug Finder Access).

Определение правила

Тип, объект или функция, которые используются в нескольких модулях перевода, должны быть объявлены в одном и только одном файле.

Объяснение

Если вы объявляете идентификатор в заголовочном файле, можно включить заголовочный файл в любой модуль перевода, где идентификатор определен или используется. Таким образом, вы гарантируете согласованность между:

  • Декларация и определение.

  • Объявления в различных модулях перевода.

Правило применяет практику объявления внешних объектов или функций в файлах заголовков.

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

Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».

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

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