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