﻿# V573\. Use of uninitialized variable 'Foo'\. The variable was used to initialize itself\.

Анализатор обнаружил потенциально возможную ошибку, связанную с тем, что объявляемая переменная для инициализации использует саму себя\.

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

```cpp
int X = X + 1;
```

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

```cpp
void Class::Foo(const std::string &FileName)
{
  if (FileName.empty())
    return;
  std::string FullName = m_Dir + std::string("\\") + FullName;
  ...
}
```

Из\-за опечатки в выражении случайно используется имя FullName, а не FileName\. Корректный вариант кода:

```cpp
std::string FullName = m_Dir + std::string("\\") + FileName;
```