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

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

Описание

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

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

Объяснение

Если redeclaration не является token-for-token, идентичным предыдущему объявлению, из визуального контроля не ясно, какой объект или функция пересматривается.

Реализация Polyspace

Средство проверки правил сравнивает текущее объявление с последним просматриваемым объявлением.

Дополнительное сообщение в отчете

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

Переменные varName несовместим с предыдущим объявлением.

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

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

Примеры

расширить все

typedef int* intptr;

int* map;
extern intptr map; //Noncompliant

intptr table;
extern intptr table; //Compliant

В этом примере переменная map объявляется дважды. Во втором заявлении используется typedef который разрешается к типу первого объявления. Из-за typedefВторое объявление не является маркером для маркера, идентичным первому.

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

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