'for'循环初始声明在C99模式之外使用

时间:2011-05-04 04:41:41

标签: objective-c for-loop

  

可能重复:
  How do I fix “for loop initial declaration used outside C99 mode” GCC error?

为什么我必须在for循环语句之外声明一个循环变量?我收到gcc(MacOSX)错误,内容如下:

错误:'for'循环初始声明在C99模式之外使用

如果我在循环语句之外定义循环变量,那么gcc就会停止抱怨。

2 个答案:

答案 0 :(得分:15)

正如错误所示,这是因为在C99之前不允许在for循环条件内声明变量,并且您使用的是较旧的语言标准。如果您正在直接编译,请使用-std=c99标志。在Xcode中,转到目标的“编译器 - 语言”选项,并将语言标准设置为C99或GNU99。

答案 1 :(得分:3)

您需要使用选项-std=c99进行编译。

例如:

$ gcc -std=c99 code.c