'for' loop initial declarations are only allowed in c99 mode

来源:互联网 发布:数据血缘关系图 编辑:程序博客网 时间:2024/06/11 06:21

 ubuntu gcc 4.6.3 编译时遇到这个不起眼的错误" error:'for' loop initial  declarations are only allowed in c99 mode",去查了下c99百科,居然就是下面这玩意儿:

c99标准:

       变量声明不必放在语句块的开头,for 语句提倡这么写 for(int i=0;i<100;++i) 就是说,int i 的声明放在里面,i 只在 for 里面有效。(VC没有遵守这条标准,i 在 for 外也有效;但vc2005里已经默认是i在外面不可见了,但有编译选项可以设置。)

 解决办法:要么i在for外声明,要么可以再编译时加上参数 gcc -std=c99

虽然加上参数就可以了,但是并不是默认支持c99,看来c99真的不受欢迎。

原创粉丝点击