Операция 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