﻿# V589\. Expression of the 'A \=\- B' kind is used\. Possibly meant: 'A \-\= B'\. Consider inspecting the expression\.

Анализатор обнаружил потенциальную ошибку, так как в программе имеется последовательность символов '\=\-'\. Возможно, это опечатка и следует использовать оператор '\-\='\.

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

```cpp
size_t size, delta;
...
size =- delta;
```

Этот код может быть корректен\. Но с большой вероятностью имеется опечатка и на самом деле, хотели использовать оператор '\-\='\. Исправленный вариант:

```cpp
size_t size, delta;
...
size -= delta;
```

Если код корректен, то чтобы убрать предупреждение V589 можно использовать дополнительный пробел между символами '\=' и '\-'\. Вариант корректного кода, где предупреждение не выдается:

```cpp
size = -delta;
```



Чтобы уменьшить количество ложных срабатываний, для правила V589 действует ряд специфичных исключений\. Например, анализатор не будет выдавать предупреждение, если программист не использует пробелов между переменными и операторами\. Ряд примеров, код которых анализатор считает безопасным:

```cpp
A=-B;
int Z =- 1;
N =- N;
```



Примечание\. Для поиска опечаток вида 'A \=\+ B' используется диагностическая проверка V588\.