﻿# V506\. Pointer to local variable 'X' is stored outside the scope of this variable\. Such a pointer will become invalid\.

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

Первый пример:

```cpp
class MyClass
{
  size_t *m_p;
  void Foo() {
    size_t localVar;
    ...
    m_p = &localVar;
  }
};
```

В данном случае адрес локальной переменной сохраняется внутри класса в переменную m\_p и может затем быть по ошибке использован в другой функции, когда переменная localVar будет уже уничтожена\.

Второй пример:

```cpp
void Get(float **x)
{
  float f;
  ...
  *x = &f;
}
```

Функция Get\(\) вернет указатель на локальную переменную, которая уже в этот момент не будет  существовать\.



Это сообщение подобно сообщению [V507](https://pvs-studio.ru/ru/docs/warnings/v507/)\.