gpt4 book ai didi

无法访问结构体字段

转载 作者:行者123 更新时间:2023-11-30 17:34:14 25 4
gpt4 key购买 nike

我在这里做错了什么吗:

我有 2 个结构:

typedef struct Boundaries{
int f[11];
int t[11];
int d[11];
} boundaries;

typedef struct STNODE {
char name;
int addr;
const char* type;
int _size;
boundaries b;
int cell_size;
} stnode;

我创建了一个stnode数组:

stnode ST[24];

当我尝试访问 stnode 的字段(即通过点 '.')时,我得到所有字段 name,addr类型_sizebcell_size。问题是我无法访问 b 的字段。这个表达式:

ST[i].b.

打开stnode的变量。难道它不应该让我从 b 的变量中进行选择吗? (f[],t[],d[])

谢谢

编辑:

对于那些不明白我所说的“打开变量”含义的人,这里有一个快照:

variables_list

最佳答案

哦,现在我知道这是怎么回事了。

Code::Blocks 自动完成简直就是糟糕,它永远不会做你想做的事。如果它做了应该认为自己很幸运的事情。我使用 code::blocks 制作复杂的项目已经有大约 5 年了,但由于某种原因,大多数功能对我来说都失败了。例如,错误跟踪,当您双击编译错误时,它会将您带到文件和发生错误的行,如果源路径是相对路径,则这不起作用。我想说的是,解析不是最好的,我什至看到自动完成系统只是在引擎盖下崩溃,拒绝显示帮助,我必须重新启动才能使其再次工作。

除了这些之外,还有一些 idom 会影响自动完成处理的方式。最直接的之一是每个处理器,如果预处理器指令处理定义并且您必须显式指定自动完成将忽略它。检查自动完成系统是否有问题的一种方法是将您在问题中输入的定义直接复制到您正在使用的文件中(如果该文件尚不存在)。如果它在那里不起作用,你就无能为力。如果它确实有效,您应该检查如何以及在何处包含这些定义,因为某些预处理器指令可能会将其删除,使其对自动完成系统不可见。

关于无法访问结构体字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23455493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com