# V700. It is suspicious that variable is initialized through itself. Consider inspecting the 'T foo = foo = x;' expression.

Анализатор обнаружил в коде выражение вида 'T foo = foo = X'. Переменная при инициализаторе сама же участвует в присваивании. В отличие от диагностики V573, переменная foo является инициализированной выражением X, однако этот код является крайне подозрительным: скорее всего, имелось в виду что-то другое.

В качестве примера можно привести следующий некорректный код:

    int a = a = 3;

Сложно сказать, что имелось в виду в этом случае. Возможно, корректный код выглядит так:

    int a = 3;

Также возможно, что подразумевалось инициализация через присваивание значения некоторой другой переменной:

    int a = b = 3;

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

CWE-480

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