﻿# V3012\. 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, simplest, example:

```cpp
int A = B ? C : C;
```

In either case, the A variable will be assigned the value of the C variable\.

Let's see what such an error may look like in real\-life code:

```cpp
fovRadius[0] = Math.Tan((rollAngleClamped % 2 == 0 ?
  cg.fov_x : cg.fov_x) * 0.52) * sdist;
```

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 "fov\_x" class being used both times\.  The correct version of this code should look as follows:

```cpp
fovRadius[0] = Math.Tan((rollAngleClamped % 2 == 0 ?
  cg.fov_x : cg.fov_y) * 0.52) * sdist;
```