c - 在 for 循环内声明变量; c2000编译器出现错误

标签 c variables for-loop compiler-errors texas-instruments

我正在使用 C2000 编译器为 TI TMS320x DSP 开发一个 C 项目。我尝试直接在 for 循环内初始化循环变量,但不知何故出现编译器错误:

代码:

for (int TabCnt = 0; TabCnt < 10; TabCnt++)
{
    x++;
}

错误:

error #20: identifier "TabCnt" is undefined

我认为这可能是一个错误的编译器设置?如果我在循环之外声明变量,它就可以完美工作。

最佳答案

这是因为您使用的编译器仅支持 C89。

此语法:

for (int TabCnt = 0; TabCnt < 10; TabCnt++)

仅自 C99 起有效。解决方案是启用 C99(如果支持),或者在 block 的开头声明变量,例如:

void foo()
{
    int x = 0;
    int TabCnt;
    for (TabCnt = 0; TabCnt < 10; TabCnt++)
    {
        x++;
    }
}

关于c - 在 for 循环内声明变量; c2000编译器出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29228400/

相关文章:

c - 从 FUSE 调试系统调用

c - 更新标题栏 Winapi

javascript - 为什么可以将 'module.exports' 作为 'exports' 访问,但不能使用 'module.id' 访问?

c - opencv 在视频上显示变量

c# - 在 For 循环中使用 DateTime,递增日期不起作用

c - nftw 文件句柄总数或可用数量

python - 如何通过 cython 将 MPI 通信器从 python 传递到 C?

复合词的 JavaScript 变量命名约定

python - 我如何打印这样的图案

r - 取出数据子集,取平均值,创建一个新的数据框。有更容易的方法吗?