微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 for 循环中将指向结构的指针声明为迭代器

如何解决在 for 循环中将指向结构的指针声明为迭代器

我试图在 for 循环中使用指向结构的指针作为迭代器,但它给了我错误错误 #20:标识符“z”未定义”,好像我必须先声明它而不是使用它for 循环,我不知道该怎么做。


typedef struct 
{
    int id;
    double low;
    char *str;
} Zone;
void print_table(Zone zones[],int len,double hr_max)
{

    for (Zone *z = zones; z < zones + len; z++)

解决方法

您的编译器来自石器时代,因此无法处理 for 循环内的声明。您需要启用 C99 支持或更新版本。显然,这个“CCS”使用的是 5.0.0 之前的 gcc 版本,当时 gcc 默认设置为 -std=gnu90,所以我猜你的编译器已经过时了 10 多年。

一般来说,我强烈建议不要使用由芯片供应商提供的功能失调的 Eclipse spawn。这些工具可怕

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。