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真的不受欢迎。
本文介绍了使用Ubuntu GCC4.6.3编译时遇到的for循环声明错误,并提供了两种解决方案:一是将变量声明移至循环之外,二是通过编译参数启用C99标准。
7186

被折叠的 条评论
为什么被折叠?



