Título: (Ayuda) Error con un bucle while en un constructor Publicado por: Seyro97 en 25 Mayo 2015, 17:34 pm Hola. Muy buenas a todos. Hoy traigo una duda de las que uno piensa que el compilador está fallando porque no tiene otra explicación.
Primero voy a introducir: Estoy intentando imitar la clase string a modo de ejercicio. Pues bien, en el constructor está pasado algo solo descriptible a través de la salida (está debajo del código). Código
Pues bien, la salida es la siguiente: 3 2 1 0 -1 -2 -3 -4 //... y así hasta el infinito (El comentario no está en la salida, solo es para aclarar) Como ven, aunque num_characters valga menos de 0, el while se sigue repitiendo... Espero que sea error del compilador, porque si no yo sería muy tonto Título: Re: (Ayuda) Error con un bucle while en un constructor Publicado por: Stakewinner00 en 25 Mayo 2015, 17:44 pm num_characters es unsigned, no tiene signo, siempre sera >= 0 (por mucho que num_characeters sea 0 cumple que == 0 y continuara el while y pasara de 0 a un número gigante.
Yo haría un while(--num_characters) y cuando sea 0 ya para. Título: Re: (Ayuda) Error con un bucle while en un constructor Publicado por: Seyro97 en 25 Mayo 2015, 18:17 pm ... Por eso algunas veces me siento tonto. Claro xD Gracias!
Para el que le interese, aquí le dejo el código con el error solucionado :D Código
Título: Re: (Ayuda) Error con un bucle while en un constructor Publicado por: Peregring-lk en 25 Mayo 2015, 20:11 pm Así también es una opción:
Código
Y si desplazas el postdecremento una posición: Código
parece una flechita :) |