V700. It is suspicious that variable is initialized through itself. Consider inspecting the 'T foo = foo = x;' expression.
Анализатор обнаружил в коде выражение вида 'T foo = foo = X'. Переменная при инициализаторе сама же участвует в присваивании. В отличие от диагностики V593, переменная foo является инициализированной выражением X, однако этот код является крайне подозрительным: скорее всего, имелось в виду что-то другое.
В качестве примера можно привести следующий некорректный код:
int a = a = 3;
Сложно сказать, что имелось в виду в этом случае. Возможно, корректный код выглядит так:
int a = 3;
Также возможно, что подразумевалось инициализация через присваивание значения некоторой другой переменной:
int a = b = 3;
Данная диагностика классифицируется как:
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V700. |