AUTOSAR C++14 Rule M0-1-3

Проект не должен содержать неиспользуемые переменные.

Описание

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

Проект не должен содержать неиспользуемые переменные.

Реализация Polyspace

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

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

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

Примеры

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

#include <iostream>
struct S {
    unsigned char b1 : 3;
    unsigned char pad: 1;  //Noncompliant
    unsigned char b2 : 4;
};
void init(struct S S_obj)
{
    S_obj.b1 = 0;
    S_obj.b2 = 0;
}

В этом примере, битовое поле pad используется для дополнения структуры. Поэтому поле никогда не читается или пишется и вызывает нарушение этого правила. Чтобы избежать нарушения, используйте поле без имени для дополнения.

#include <iostream>
struct S {
    unsigned char b1 : 3;
    unsigned char : 1;  //Compliant
    unsigned char b2 : 4;
};
void init(struct S S_obj)
{
    S_obj.b1 = 0;
    S_obj.b2 = 0;
}

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

Группа: независимые от языка проблемы
Категория: необходимый, автоматизированный
Введенный в R2019a