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

Анализатор обнаружил потенциальную ошибку при использовании тернарного оператора "?:"\. Независимо от условия, будет выполнено одно и тоже действие\. Скорее всего, в коде имеется опечатка\.

Рассмотрим самый простой пример:

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

В любом случае переменной A будет присвоено значение переменной C\.

Рассмотрим, как подобная ошибка может выглядеть в коде реального приложения:

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

Здесь код отформатирован\. В тексте программы это одна строка, и не удивительно, что легко просмотреть опечатку\. Ошибка заключается, что два раза используется член структуры "fov\_x"\. Корректный вариант:

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