MISRA C++:2008 Rule 0-1-3

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

Описание

Эта проверка деактивирована в Polyspace по умолчанию® по мере анализа You Code. Смотрите Checkers Deactivated in Polyspace как You Code Default Analysis (Polyspace Bug Finder Access).

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

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

Реализация 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;
}

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

Группа: Языковые независимые вопросы
Категория: Требуемая
Введенный в R2018a