>
>
>
V6027. Variables are initialized throug…


V6027. Variables are initialized through the call to the same function. It's probably an error or un-optimized code.

Анализатор обнаружил потенциальную ошибку, найдя в коде инициализацию двух различных переменных одинаковыми выражениями. Анализатор считает опасными не все выражения, а только в которых используется вызов функций (либо слишком длинное выражение).

Рассмотрим наиболее простой случай:

sz1 = s1.length();
sz2 = s1.length();

Двум разным переменным присваивается один и тот же размер строки. Глядя на переменные 'sz1' и 'sz2' можно сделать вывод, что произошла опечатка. Корректный фрагмент кода будет выглядеть следующим образом:

sz1 = s1.length();
sz2 = s2.length();

Если анализатор выдал сообщение на фрагмент кода:

x = expression;
y = expression;

Варианты действий следующие:

  • Код содержит ошибку и необходимо подкорректировать 'expression'.
  • Код верен. Если 'expression' требует много вычислений, то лучше написать 'y = x;'.

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