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

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

Описание

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

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

Объяснение

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

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

Обменивайтесь сообщениями в отчете

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

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

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

Примеры

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

enum switchValue {low, medium, high}; //Noncompliant

void operate(int userInput) {
    switch(userInput) {
        case 0: // Turn on low setting
                 break;
        case 1: // Turn on medium setting
                 break;
        case 2: // Turn on high setting
                 break;
        default: // Return error
    }
}

В этом примере, перечислимый тип switchValue не используется. Возможно, намерение состояло в том, чтобы использовать тип в качестве switch введите как это.

enum switchValue {low, medium, high}; //Compliant

void operate(switchValue userInput) {
    switch(userInput) {
        case low: // Turn on low setting
                   break;
        case medium: // Turn on medium setting
                     break;
        case high: // Turn on high setting
                   break;
        default: // Return error
    }
}

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

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

Введенный в R2018a