【发布时间】:2011-08-18 05:29:25
【问题描述】:
可能重复:
How do I fix “for loop initial declaration used outside C99 mode” GCC error?
为什么我必须在 for 循环语句之外声明一个循环变量?我收到一个 gcc (MacOSX) 错误,内容如下:
错误:在 C99 模式外使用的“for”循环初始声明
如果我在循环语句之外定义我的循环变量,那么 gcc 就会停止抱怨。
【问题讨论】:
-
因为在 ANSI C 和 C89 中,变量只能在文件范围或块的开头声明。 C99 在
for循环子句中引入了变量声明。 -
考虑在 Mac OS X 上使用 Clang 代替 GCC。Apple 在可预见的未来不会更新 GCC。
-
Chuck 链接到的问题的完全相同的副本。也就是说,只需设置 -std=c99 或 -std=gnu99 即可。
-
我确实搜索过旧问题,但由于某种原因错过了它们。下次我会做一个深度搜索。
标签: objective-c for-loop