MISRA C:2012 Rule 8.1

Типы должны быть четко указаны

Описание

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

Типы должны быть четко указаны.

Объяснение

В некоторых случаях можно опускать типы из стандарта C90. В этих случаях int неявно задан тип. Однако пропуск явного типа может привести к путанице. Для примера в декларации extern void foo (char c, const k);, тип k является const intНо вы можете ожидать const char.

Возможно, вы используете неявный тип в:

  • Объявления объектов

  • Объявления параметров

  • Объявления представителей

  • typedef декларации

  • Типы возвращаемых функций

Реализация Polyspace

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

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

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

Примеры

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

static foo(int a);  /* Non compliant */
static void bar(void);      /* Compliant */

В этом примере правило нарушается, потому что тип возврата foo неявный.

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

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