﻿# V3524\. AUTOSAR\. The value of uninitialized variable should not be used\.

This diagnostic rule is based on the software development guidelines developed by [AUTOSAR](https://www.autosar.org/) \(AUTomotive Open System ARchitecture\)\.

If a variable of a POD type isn't initialized explicitly and doesn't have an initializer by default, its value will be undefined\. Usage of such value will lead to undefined behavior\. 

Simple synthetic example: 

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

Usually errors of using uninitialized variables occur through misprints\. For example, it may appear that a different variable should be used in this place\. Correct code variant: 

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