﻿# V6012\. The '?:' operator, regardless of its conditional expression, always returns one and the same value\.

The analyzer has detected a potential error when using the ternary operator ?:\. Regardless of the condition's result, one and the same statement will be executed\. There is very likely a typo somewhere in the code\.

Consider the following example:

```cpp
int a = b ? c : c;
```

In either case, the `a` variable will be assigned the value of the `c` variable\.

Let's consider the example, where it is not that easy to notice such an error:

```cpp
double calc(Box bx, int angle, double scale) {
  return Math.tan((angle % 2 == 0 ?
         bx.side_x : bx.side_x) * 0.42) * scale;
}
```

This code has been formatted\. In reality, though, it may be written in one line, so it's no wonder that a typo may stay unnoticed\. The error here has to do with the member of the `side_x` class being used both times\.  The correct version of this code should look as follows:

```cpp
double calc(Box bx, int angle, double scale) {
  return Math.tan((angle % 2 == 0 ?
         bx.side_x : bx.side_y) * 0.42) * scale;
}
```