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

Данное диагностическое правило основано на руководстве AUTOSAR (AUTomotive Open System ARchitecture) по разработке программного обеспечения.

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

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

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

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

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

Данная диагностика классифицируется как:

AUTOSAR-M8.5.1