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. |