﻿# V2538\. MISRA\. The value of uninitialized variable should not be used\.

Диагностическое правило основано на руководстве [MISRA](https://www.misra.org.uk/) \(Motor Industry Software Reliability Association\) по разработке программного обеспечения\.

Если переменная POD\-типа не инициализируется явно и не имеет инициализатора по умолчанию, то её значение будет неопределённым\. Использование такого значения приведет к неопределенному поведению\. 

Простой синтетический пример: 

```cpp
int Aa = Get();
int Ab;
if (Ab) // Ab - uninitialized variable
  Ab = Foo();
else
  Ab = 0;
```

Как правило, ошибки использования неинициализированных переменных, возникают из\-за опечаток\. Например, может оказаться, что в этом месте следовало использовать другую переменную\. Корректный вариант кода:

```cpp
int Aa = Get();
int Ab;
if (Aa) // OK
  Ab = Foo();
else
  Ab = 0;
```