error: ‘for’ loop initial declarations are only allowed in C99 mode

for (int i = 0; i <= stack_top; i++)
//doing something here.

when compile it using gcc it gives:

    error: ‘for’ loop initial declarations are only allowed in C99 mode.

==

In case you’re declaring the loop variable as part of the for loop itself. This feature was added to the language with the C99 standard; it’s not supported in C90.
You can either use C99 mode (but beware: gcc doesn’t fully support C99; see
http://gcc.gnu.org/c99status.html), or you can re-write the code to be compatible with C90:

int i;
for (i = 0; i < N; i ++)
//doing something here.

which is legal C99 as well.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章