Lab 4- Problema con assert

Lab 4- Problema con assert

de Maria Guillermina Borrazas Pizzorno -
Número de respuestas: 4

Buenas tardes, al replicar el modelo de assert propuesto en el teórico nos surge este error en la línea 22, intentamos buscar y consultar en internet y se sugiere agregar un while(0) luego del corchete }. Pero al agregar esto sigue apareciendo el mismo error. Adjunto foto de nuestro assert.h y el error que aparece en la terminal. 




En respuesta a Maria Guillermina Borrazas Pizzorno

Re: Lab 4- Problema con assert

de Rodrigo Blanco Galeazzi -
Creo que es porque en la linea 24 tenes escrito #else
Deberia ser #elif defined(DEBUG_2)
(o solo #elif)
Y tambien creo que tenes un #endif extra, proba comentar el de la linea 29.
En respuesta a Rodrigo Blanco Galeazzi

Re: Lab 4- Problema con assert

de Julian Oreggioni -
Muchas gracias Rodrigo por responder! Me parece super importante que utilicen esta herramienta para preguntar y responder, y valoro mucho siempre que se respondan entre Uds. Acá estamos para aprender (todos), y se aprende preguntando, pero se aprende mucho más respondiendo. Créanme...

Guillermina: ¿probaste lo que dice Rodrigo?

No tengo un compilador acá adelante, pero no me convencen las sugerencias de Rodrigo.

1) tanto #else como #elif (sería para anidar un if) son válidas ambas, dependiendo de lo que se quiera hacer. En el ejemplo que pasó Guillermina no veo necesidad de usar #elif, #else me parece correcto.

2) Definir otra bandera DEBUG_2 tampoco lo veo necesario. Por lo menos pensando en un ejemplo simple inicial como para hacer andar el primer assert.

3) El segundo #endif calculo que está bien, ya que debe estar para cerrar la guarda, pero eso Rodrigo no tiene como saberlo porque no aparece en el fragmento de código que pasó Guillermina.

En definitiva, el código lo veo bien... Lo único que me genera dudas es usar comentarios "adentro" del define. Yo borraría la línea 21 (que no la precisas para nada), o por lo menos pondría el corchete una línea antes (invertir lineas 21 y 22).

Proba eso, y contanos.

Saludos,

Julián