exponenta event banner

MISRA C:2012 Правило 8.2

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

Описание

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

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

Объяснение

Правило требует указания имен и типов данных для всех параметров в объявлении. Имена параметров предоставляют полезную информацию относительно интерфейса функции. Несоответствие между объявлением и определением может указывать на ошибку программирования. Например, параметры смешиваются при определении функции. Настаивая на именах параметров, правило позволяет проверяющему код обнаруживать это несоответствие.

Внедрение Polyspace

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

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

  • Слишком много аргументов для function_name.

  • Слишком мало аргументов для function_name.

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

Поиск неисправностей

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

Примеры

развернуть все

extern int func(int);   /* Non compliant */
extern int func2(int n);   /* Compliant */

extern int func3();   /* Non compliant */
extern int func4(void);   /* Compliant */

В этом примере объявления func и func3 несовместимы, поскольку параметры отсутствуют или не имеют имен.

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

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