我有以下代码行:
for ( int i = index; i < al->size; ++i )
//i,index and size are integers.al is an arraylist
当我用 C 语言编译它时,出现错误:
'for' loop initial declarations are only allowed in C99 mode
我不确定如何解决这个问题。
谢谢!
最佳答案
在循环之外声明迭代器:
int i;
for (i = index; i < al->size; ++i) {
do_foo();
}
或者如果您的编译器支持它,请根据 c99 或兼容标准进行编译:
gcc -std=c99 your_code.c
(请注意,gnu89/gnu90 是默认值(无论如何,从 4.8 开始)。)
关于将此代码行转换为 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33457768/