﻿# 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:

```cpp
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: 

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

If the analyzer issued a warning for the fragment of code, 

```cpp
x = expression;
y = expression;
```

Here are the options in this regard:

1. Code contains an error and 'expression' has to be corrected\.
1. Code is correct\. If 'expression' requires a lot of calculations, it's better to write 'y \= x;'\.