# V561. Consider assigning value to 'foo' variable instead of declaring it anew.

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

Рассмотрим пример:

    BOOL ret = TRUE;
    if (m_hbitmap)
      BOOL ret = picture.SaveToFile(fptr);

Программист случайно объявил новую переменную 'ret', в результате чего предыдущая всегда будет иметь значение TRUE, вне зависимости от того успешно будет сохранена картина в файл или нет. Исправленный вариант кода:

    BOOL ret = TRUE;
    if (m_hbitmap)
      ret = picture.SaveToFile(fptr);

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

CWE-563 CERT-DCL01-C

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V561.