Вопрос человека, который знает паскаль и не понимает в чем проблема
- Войдите на сайт для отправки комментариев
Чт, 09/04/2015 - 15:55
Господа!
Такое дело, я определил две глобальные переменные до "void setup()"
byte ValveClock[4][12] = {{19,0, 20,30 , 0,0 , 0,0 , 0,0 , 0,0 }, { 8,0, 9,0 , 19,0 , 20,00 , 0,0 , 0,0 }, {19,0, 20,0 , 0,0 , 0,0 , 0,0 , 0,0 }, { 6,0, 6,30 , 19,0 , 19,30 , 0,0 , 0,0 }}; byte DoW, Hour, Minute;
в теле есть такие строки
DoW=Clock.getDoW(); Hour=Clock.getHour(h12, PM); Minute=Clock.getMinute();
а, после "void loop()" у меня идут функции
bool LetEnable(byte Number) { int j; bool flag=false; for (j=0; ValveClock[Number,j]>0; j=j+4) { if (ValveClock[Number,j]==Hour) { - строка 213 if (ValveClock[Number,j+1]==Minute) { - строка 214 flag=true; } } } return flag; }
так вот, подскажите, как нужно передать переменные в функцию, что бы исключить вот эти ошибки
GreenhouseIrrigation.ino:213:31: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
GreenhouseIrrigation.ino:214:35: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
логика подсказывает, что обе переменные глобальные и элементы каждой из них обладают типом "байт", а в функции от рассматривает их как указатель и целое. я в замешательстве :-)
для начала попробуй j объявить не int а byte
спасибо за быстрый ответ, но не помогло!
))) кидай весь код попробую
Я разобрался (помогли на форуме С++)
было: ValveClock[Number,j]==Hour
стало: ValveClock[Number][j]==Hour
Ошибка ушла, но пока не работает. Попробую пока сам поковырять, если уйду в тупик - обращусь!
Огромное спасибо!
точно)))