MISRA C ++:2008 правил 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