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


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

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

int a = a = 3;

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

int a = 3;

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

int a = b = 3;

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


Найденные ошибки

Проверено проектов
355
Собрано ошибок
13 303

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;