AUTOSAR C++14 Rule A0-1-5

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

Описание

Управляйте определением

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

Объяснение

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

Правило фокусируется на виртуальных функциях, потому что все функции, которые заменяют виртуальную функцию, должны иметь ту же подпись как виртуальная функция, включая номер и тип параметров. Если параметр действительно не требуется, проблема может расположиться каскадом от исходной функции до всех переопределяющих функций.

Однако в переопределяющей функции, у вас не может быть потребности в определенном параметре. Можно оставить тот параметр без имени. Это правило осуществляет соглашение, что неиспользованные параметры остаются без имени.

Реализация Polyspace

Для каждой виртуальной функции средство проверки смотрит на все переопределения функции. Если переопределение имеет именованный параметр, который не используется, средство проверки показывает нарушение на исходной виртуальной функции и перечисляет переопределение как событие поддержки.

Обратите внимание на то, что Polyspace проверяет на неиспользованные параметры в виртуальных функциях в одном модулях перевода. Например, если базовый класс содержит виртуальный метод неиспользованным параметром, но реализация производного класса метода использует тот параметр, правило не нарушено. Однако, если базовый класс и производный класс заданы в различных файлах, средство проверки, которое управляет файлом файлом, отмечает нарушение этого правила о базовом классе.

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

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

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

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

Группа: Независимые от языка проблемы

Введенный в R2020a