MISRA C++:2008 Rule 0-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 используется в дополнении структуры. Поэтому поле никогда не читается или пишется и вызывает нарушение этого правила. Чтобы избежать нарушения, используйте поле без имени в дополнении.

struct S {
    unsigned char b1 : 3;
    unsigned char : 1;
    unsigned char b2 : 4;
};

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

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

Введенный в R2018a