Instruzione dentro LOOP in errore, ma compila

usando questa istruzione

          listo=0;
          if (Messaggio.length()>0){
            for (int i=0; i<Messaggio.length(); i++) {
              if (Messaggio.substring(i, i+1) == "?") {listo=listo+1; firstVal[listo] ="";}
              firstVal[listo] += Messaggio.substring(i, i+1);
            }
          }

mi da errore alla riga ''for (int i=0; i<Messaggio.length(); i++) {''

errore cosi scritto:
Domotica_.ino: In function 'void loop()':
Domotica_.ino:424:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

che cosa sbaglio, se pur lo compila a gira con qualche difficoltà.

Ciao,

è un warning non un errore.

Prova dichiarare unsigned int i!

Perchè posti la domanda 2 volte ?
http://forum.arduino.cc/index.php?topic=343513.msg2368726#msg2368726

e la risposta che ti ho dato di là a che serve ora ?