exponenta event banner

MISRA C:2012 Правило 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 неявно.

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

Группа: Объявления и определения
Категория: Обязательно
Категория СМЖЛ: требуется
Представлен в R2014b