Операция Equality в операторе присваивания
Этот дефект происходит, когда вы используете оператор равенства вместо оператора присваивания в простом операторе.
Использование == оператор вместо = оператор может тихо привести к неправильным результатам. Если вы намеревались присвоить значение переменной, присвоение не происходит. Переменная сохраняет свое предыдущее значение или если не инициализированный ранее, остается неинициализированным.
Используйте = (присвоение) оператор вместо == (равенство) оператор.
Проверка появляется на цепочечном присвоении и операторах равенства, таких как:
compFlag = val1 == val2;
compFlag = (val1 == val2);
Если использование == оператор предназначается, добавьте комментарии в свой результат или код, чтобы избежать другого анализа. Смотрите Результаты Polyspace Адреса Через Исправления ошибок или Выравнивания.
| Группа: Программирование |
| Язык: C | C++ |
| Значение по умолчанию: На для рукописного кода, прочь для сгенерированного кода |
Синтаксис командной строки: BAD_EQUAL_EQUAL_USE |
| Удар: высоко |
| ID CWE: 480, 482 |
Find defects (-checkers) | Invalid use of = (assignment) operator