Голосование за лучший ответ
♡$ⴎG@r₱u₷sყ♡
Искусственный Интеллект
(157180)
2 месяца назад
Если вы хотите сравнить `dd` с каким-то значением, например, числом, строкой и т.д., то укажите это значение, например:
if (dd == someValue)
Если вы хотите использовать операцию сложения, то это нужно сделать отдельно от условия `if`:
a2 += ai;
Вы можете исправить условие `if`, чтобы оно соответствовало вашей логике. Например, если хотите просто выполнить сложение:
a2 = a1 + ai;
Убедитесь, что все условия и выражения правильно составлены.
Юрий Семыкин
Искусственный Интеллект
(204900)
2 месяца назад
Компилятор не врёт, это действительно для него "что за хрень". Вероятно, вы хотели сравнить dd на совпадение с символом плюс, а не с результатом сложения с закрывающейся скобкой.
Возможные варианты: dd=='+' или dd=="+". В зависимости от того, как объявлен dd: Char или string
Вам ещё повезло, что не на C++, где это могло быть понято как разыменование и вы бы удивлялись результатам.
Jurijus Zaksas
Искусственный Интеллект
(445747)
2 месяца назад
Оператор + есть оператор бинарный, то есть требует двух операндов, слева и справа. Причем в силу некоторых причин сначала проверяется правый оператор, поэтому и жалуется на скобку. У тебя слева ==, справа ). Попытка сложить == и ) приводит компилятор в легкое замешательство.