error: ‘for’ loop initial declarations are only allowed in

本文详细解释了在使用GCC编译器时遇到的错误,即在for循环中直接初始化变量的问题。文章指出,此错误源于GCC基于C89标准,而建议使用C99或GNU99模式进行编译。通过提供正确的编译选项,可以避免此类错误,并顺利编译代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用gcc,出现如下错误:

thread_join.c:7:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (int i = 0; i < 2; ++i)
     ^
thread_join.c:7:5: note: use option -std=c99 or -std=gnu99 to compile your code

出错的代码如下:

这是因为使用gcc时,直接在for循环中初始化落变量,这是因为gcc基于c89标准,换成C99标准就可以在for循环内定义i变量了。

gcc thread_join.c -std=c99 -lpthread -o thread_join


转载于:https://www.cnblogs.com/bzyzhang/p/5399637.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值