Sto affrontando un problema con una macro e non riesco a capire perché.Cosa c'è di sbagliato in questa macro?
Ecco la macro:
#define WAIT(condition, max_time) \
do { \
int int_loop_wait=0; \
while(1) \
{ \
if(condition) { break; } \
sleep(1); \
if(int_loop_wait>=max_time) { break; } \
int_loop_wait++; \
} \
} while(0) \
ho ottenuto l'errore
"prevede una dichiarazione" linea "if (condizione) {break;}"
C'è qualcuno capisci questo errore?
Non si modifica 'int_loop_wait' all'interno del ciclo. 'max_time' non ha alcun effetto. – Dipto
Vero! Lo cambio adesso. Ti tengo aggiornato – Joze
@ Krishnabhadra È una macro, quindi non voglio il punto e virgola (verrà aggiunto nel codice) – Joze