Неинициализированная переменная

Переменная кроме локальной переменной не инициализируется прежде чем быть считанным

Описание

Эта проверка происходит, когда вы читаете переменные, которые не локальны (глобальные или статические переменные). Это определяет, инициализируется ли считанная переменная.

Примечание

По умолчанию Polyspace® полагает, что глобальные переменные инициализируются. Верификация проверяет глобальные переменные, только если вы предотвращаете эту инициализацию по умолчанию.

Смотрите инициализацию глобальных переменных.

Примеры

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

int globVar;
int getVal();

void main() {
 int val = getVal();
 if(val>=0 && val<= 100)
   globVar += val;
}

В этом примере globVar не имеет начального значения, когда постепенно увеличено. Поэтому проверка Non-initialized variable производит красную ошибку.

Пример использует опцию, чтобы предотвратить инициализацию по умолчанию глобальных переменных.

Исправление — Инициализирует глобальную переменную перед использованием

Одно возможное исправление должно инициализировать глобальную переменную globVar перед использованием.

int globVar;
int getVal();

void main() {
 int val = getVal();
 globVar = 0;
 if(val>=0 && val<= 100)
   globVar += val;
}

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

Группа: Поток данных
Язык: C | C++
Акроним: NIV