Non-initialized variable

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

Описание

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

Примечание

По умолчанию 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