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

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

Описание

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

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

Объяснение

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

  • Объявление и определение.

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

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

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

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

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

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