Выполните один или несколько из этих шагов, пока не определите исправление для проверки неинициализированных локальных переменных. Существует несколько способов исправления этой проверки. Описание проверки и примеры кода см. в разделе Non-initialized local variable.
Иногда, особенно для оранжевой проверки, можно определить, что проверка представляет собой не реальную ошибку, а предположение Polyspace ®, которое не соответствует вашему коду. Если для смягчения предположения можно использовать опцию анализа, повторно запустите проверку с помощью этой опции. В противном случае в результат или код можно добавить комментарий и обоснование.
Общий рабочий процесс, применяемый ко всем проверкам, см. в разделе Интерпретация результатов проверки кода в пользовательском интерфейсе Polyspace Desktop.
Установите курсор на переменную, в которой появляется ошибка неинициализированной локальной переменной.

Получите вероятную основную причину неинициализации переменной, если она указана во всплывающей подсказке.
В предыдущем примере программное обеспечение идентифицирует упертую функцию, initialize, в качестве вероятной причины.
Возможное исправление: Чтобы избежать проверки, можно указать, что initialize записывает в свои аргументы. Дополнительные сведения см. в разделе Допущения о упорных функциях.
В интерфейсе пользователя Polyspace можно выполнить только следующие действия.
Поиск определения переменной. Проверьте, инициализируется ли переменная при ее определении.
Щелкните правой кнопкой мыши переменную и выберите «Перейти к определению», если опция существует.
Если не требуется инициализировать переменную во время определения, просмотрите все экземпляры переменной. Определите, инициализируется ли переменная в любом из этих экземпляров.
Выполните одно из следующих действий:
На панели «Источник» дважды щелкните переменную.
Предыдущие экземпляры переменной подсвечиваются. Прокрутите вверх, чтобы найти их.
На панели «Источник» щелкните правой кнопкой мыши переменную. Выберите Поиск всех привязок (Search For All References).
Выберите предыдущие экземпляры на панели Поиск (Search).
Возможное исправление: Если переменная не инициализирована, определите экземпляр, где ее можно инициализировать.
Если найден экземпляр, в котором инициализируется переменная, определите, выполняется ли инициализация в области, в которой появляется ошибка Неинициализированная локальная переменная.
Например, переменная инициализируется только в некоторых ветвях if ... elseif ... else заявление. Если переменная используется вне оператора, ее можно не инициализировать.
Возможное исправление:
Инициализация выполняется в той же области, где она используется.
В предыдущем примере выполните инициализацию вне if ... elseif ... else заявление.
Выполните инициализацию в блоке с меньшей областью действия, но убедитесь, что блок всегда выполняется.
В предыдущем примере выполните инициализацию во всех ветвях if ... elseif ... else заявление. Убедитесь, что одна ветвь инструкции всегда выполняется.
Найдите общие причины неинициализированной проверки локальной переменной.
Проверьте, передается ли переменная другой функции по ссылке или указателям перед ее использованием. Определите, инициализируется ли переменная в теле функции.
Чтобы перейти к телу функции, щелкните ее правой кнопкой мыши и выберите Перейти к определению (Go To Definition), если опция существует.
Определите, следует ли инициализировать переменную в недоступном коде.
Например, вы инициализируете переменную в коде, который следует за break или return заявление.
Возможное исправление: Исследовать недоступный код. Дополнительные сведения см. в разделе Проверка и устранение недостижимых проверок кода.
Определите, следует ли инициализировать переменную в коде, которую можно обойти во время выполнения.
Например, переменная инициализируется в цикле внутри функции. Однако для некоторых аргументов функции цикл не выполняется.
Возможное исправление:
Инициализируйте переменную во время объявления.
Выясните, когда код можно обойти. Определите, можно ли избежать обхода кода.
Если переменная является массивом, определите, инициализируются ли все элементы массива.
Если переменная является структурированной, определите, инициализируются ли все поля структуры.
Если определенное поле структуры не инициализировано, проверьте, не используется ли это поле.
Возможное исправление: Инициализация поля структуры при использовании поля в коде.
Проверьте, можно ли отследить оранжевый чек по предположению Polyspace, которое встречается ранее в коде. Если предположение не соответствует действительности в вашем случае, добавьте комментарий или обоснование в результат или код. См. раздел Результаты анализа пространства адресов с помощью исправлений ошибок или обоснований.
Например, переменная передается функции по указателю или ссылке. Вы намерены инициализировать переменную в теле функции, но не предоставляете тело функции во время проверки. Затем:
В Polyspace предполагается, что функция может не инициализировать переменную.
Если после вызова функции используется переменная, Polyspace считает, что переменная может не быть инициализирована. Он создает оранжевую неинициализированную проверку локальной переменной для переменной.
Дополнительные сведения см. в разделе Допущения анализа проверки кода.
Примечание
Прежде чем обосновывать проверку оранжевого цвета, тщательно продумайте, можно ли улучшить дизайн кода.
Эту проверку можно отключить. Если эта проверка отключена, Polyspace предполагает, что при объявлении переменные имеют полный диапазон значений, разрешенных их типом. Дополнительные сведения см. в разделе Disable checks for non-initialization (-disable-initialization-checks).