Как присвоить переменной число?
- Войдите на сайт для отправки комментариев
Пт, 18/11/2016 - 14:16
Здравствуйте все. Что-то понять не могу почему не получаеться присвоить переменной число. Делаю так:
До void setup()
long CHPlus = 16769565;
В теле программы уже:
switch (results.value) { case CHPlus: lcd.setCursor(2,5); lcd.print("OK1"); break; case 16769055: lcd.setCursor(2,5); lcd.print("OK2"); break; }
Вот на CHPlus и ругается. Если прям числом записать - всё работает.
"Оператор switch сравнивает значение переменной со значением, определенном в операторах case. Когда найден оператор case, значение которого равно значению переменной, выполняется программный код в этом операторе."
http://arduino.ru/Reference/SwitchCase
Хотите сравнивать с переменными - if, else if, else if и т.д.
Добавьте слово const в самое начало строки
long
CHPlus = 16769565;
Так это-то и понятно. До оператора switch у меня:
т.е. мне и нужно сравнить то что пришло. Приходят цифры (типа 16738455) с пульта. Вот хотел все эти циферки в более удобный вид привести, чтоб каждый раз не набирать их (их много и свитчей тоже много).
А ругается у меня "the value of 'CHPlus' is not usable in a constant expression"
Добавьте слово const в самое начало строки
long
CHPlus = 16769565;
Ой. Спасибо. Помогло.
Ой. Спасибо. Помогло.
Блин, я уж думал, ято совсем умом тронулся, написал пример, скомпилировал у себя, убедился, что всё нормально и совсем было собрался громко ругаться :)
Блин, я уж думал, ято совсем умом тронулся, написал пример, скомпилировал у себя, убедился, что всё нормально и совсем было собрался громко ругаться :)
Ошибку свою не сразу понял. Просто перед switch (ради проверки) продублировал без const. Убрал строку и всё заработало.
Еще в таких ситуациях #define можно использовать