﻿# V679\. The 'X' variable was not initialized\. This variable is passed by reference to the 'Foo' function in which its value will be used\.

Анализатор обнаружил ситуацию, когда неинициализированная переменная передаётся в функцию по ссылке или по указателю\. При этом функция читает значение из этой неинициализированной переменной\.

Рассмотрим пример\.

```cpp
void Copy(int &x, int &y)
{
  x = y;
}
void Foo()
{
  int x, y;
  x = 1;
  Copy(x, y);
}
```

Это конечно очень простой придуманный пример\. Однако он хорошо показывает суть ошибки\. Переменная 'y' является неинициализированной\. Ссылка на эту переменную передаётся в функцию Copy\(\)\. Там происходит чтение из этой неинициализированной переменной\.

Корректный код, может выглядеть так:

```cpp
void Copy(int &x, int &y)
{
  x = y;
}
void Foo()
{
  int x, y;
  y = 1;
  Copy(x, y);
}
```