V6027. Variables are initialized through the call to the same function. It's probably an error or un-optimized code.
The analyzer detected a possible error that deals with two different variables being initialized by the same expression. Not all of such expressions are treated as unsafe but only those where function calls are used (or expressions that are very long).
Here is the simplest case:
sz1 = s1.length(); sz2 = s1.length();
Two different variables are assigned the same size of a string. Having looked at the variables 'sz1' and 'sz2' we can conclude that a typo took place. Correct code fragment will be as follows:
sz1 = s1.length(); sz2 = s2.length();
If the analyzer issued a warning for the fragment of code,
x = expression; y = expression;
Here are the options in this regard:
- Code contains an error and 'expression' has to be corrected.
- Code is correct. If 'expression' requires a lot of calculations, it's better to write 'y = x;'.
You can look at examples of errors detected by the V6027 diagnostic.