Операция равенства в операторе о присвоении
Этот дефект возникает, когда вы используете оператор равенства вместо оператора назначения в простом операторе.
Использование ==
оператор вместо =
оператор может бесшумно выдавать неправильные результаты. Если требуется присвоить значение переменной, присвоение не выполняется. Переменная сохраняет свое предыдущее значение или, если не инициализирована ранее, остается неинициализированной.
Используйте =
(назначение) оператора вместо ==
(равный) оператор.
Проверка появляется на операторах присвоения и равенства цепей, таких как:
compFlag = val1 == val2;
compFlag = (val1 == val2);
Если используется ==
оператор предназначен, добавить комментарии к вашему результату или коду, чтобы избежать другого обзора. Смотрите Адрес Результаты Polyspace через исправления ошибок или обоснования.
Группа: Программирование |
Язык: C | C++ |
По умолчанию: On для рукописного кода, off для сгенерированного кода |
Синтаксис командной строки: BAD_EQUAL_EQUAL_USE |
Влияние: Высокий |
ИДЕНТИФИКАТОР CWE : 480, 482 |