Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Error con int: Error:loop control variable declared in the for-loop is used outside.. (https://www.clubdelphi.com/foros/showthread.php?t=25069)

DarkByte 11-09-2005 12:52:39

Error con int: Error:loop control variable declared in the for-loop is used outside..
 
Buenas.

Esto no tiene que ver exactamente con C++ Builder, pues uso Microsoft Visual C++... pero vamos, ahí va...

Tengo un problema con la variable i (un indice int). Creo que es la manera de usarla, la cogí de un código de ejemplo que tenía por aquí y creo que está mal el uso, me gustaría que me aconsejáseis.

El error que me suelta en cada uso es:
c:\lab\others\examples\jhon.cpp(1389): warning C4288: nonstandard extension used : 'i' : loop control variable declared in the for-loop is used outside the for-loop scope; it conflicts with the declaration in the outer scope
jhon.cpp(1372) : definition of 'i' used
jhon.cpp(370) : definition of 'i' ignored


Uso1:
Código:

for(i=0;puerto[i] != 0;i++) {
Uso2:
Código:

if (st + 400/i > MAX_ST) {

Y así cada vez que se usa... ¿Sabéis dónde puede encontrase el error?

Muchísimas gracias ^-^

delphi.com.ar 12-09-2005 13:53:31

¿Dónde esta declarada i?... ¿Dentro del for? (for(int i..)) ¿Por casualidad el if esta fuera del scope del for?...

jluisx 12-09-2005 16:56:18

DarkByte

Creo que deberias verificar lo que dice Federico, ya que el problema puede ser que la variable este declararada en un ambito no adecuado o peor aun que no este declarada.......hecha un vistazo nuevamente a tu codigo

Crandel 13-09-2005 06:52:14

Realmente fijate bien donde esta declarada la variable i.

Es altamente recomendable que las variables de control del ciclo for no sean usadas fuera de ciclo for, este se debe a que en general los compiladores saben aprovechar este hecho para generar código más rápido, dado que se guarda el contenido de esta variable en uno de los registros internos del micro y no en la memoria RAM.


La franja horaria es GMT +2. Ahora son las 20:28:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi