Oppure

Loading
25/08/10 11:00
Alex
quando compilo un programma che contiene un ciclo for che dichiara la sua variabile contatore:
for(int i=0;;)


dev-cpp mi da questo errore:
67 'for' loop initial declaration used outside C99 mode
questo mi capuita solo se il file è salvato come *.c mentre se è un file *.cpp non mi da questo errore...
la cosa che non capisco è che lo standard c99 supporta la dichiarazione di una variabile all'interno di un for ma come mai mi da errore?

ho provato a cercare su google ma ho trovato risposte molto contrastanti=)
aaa
25/08/10 12:09
Poggi Marco
Segui il mio consiglio: cambia ide
Vedi ad esempio visual studio!

Ti segnala errore, o semplicemente warring?
aaa
25/08/10 13:37
qualcuno
@Alex: se compili per C non puoi dichiarare la variabile i dentro al for, ma devi dichiararla fuori.
Esempio:
int i;
for(i=0;i<10;i++)
{
}
aaa
25/08/10 17:07
Alex
Postato originariamente da qualcuno:

@Alex: se compili per C non puoi dichiarare la variabile i dentro al for, ma devi dichiararla fuori.
Esempio:
int i;
for(i=0;i<10;i++)
{
}

e no! :nono: nel c99 si può benissimo dichiarare una variabile internamente al for....


@poggi: mi da errore e non mi compila niente:d:d
aaa
25/08/10 17:29
jack92
@Alex: Una volta è successo anche a me ed ho risolto come ha detto "qualcuno" , dichiarando la variabile prima del ciclo :D ... prova ;)
aaa
25/08/10 19:48
manvb.net
67 'for' loop initial declaration used outside C99 mode "


Presumo tu debba impostare il compilatore per usare la modalità C99!
aaa
25/08/10 21:20
Alex
Postato originariamente da jack92:

@Alex: Una volta è successo anche a me ed ho risolto come ha detto "qualcuno" , dichiarando la variabile prima del ciclo :D ... prova ;)


lo so che si risolve dichiarandola esternamente, però io voglio dichiararla internamente!!

@manv.net e come faccio? gli devo passare qualche parametro particolare?
aaa
25/08/10 23:06
manvb.net
Terzo risultato da google:

"It's just a warning, although an annoying one. You can get rid of it by compiling in C99 mode. In the project options, go to 'parameters', then add '-std=c99' to the 'compiler' textbox. "
aaa