gpt4 book ai didi

c - 未找到结构体成员

转载 作者:行者123 更新时间:2023-11-30 19:21:24 25 4
gpt4 key购买 nike

我有以下结构:

typedef struct vertex_tag{
int visited = 0;
int weight = FLT_MAX;
int prev;
}vertex_t;

它具有如上所述的三个成员。

我像这样分配顶点:

vertex_t * vertex[G->vertices];
for(i=0; i < G->vertices; i++)
{
vertex[i] = (vertex_t*)malloc(sizeof(vertex_t));
}

所以我从该结构创建一个矩阵。然后我在我创建的函数中调用它们,如下所示:

vertex[i]->visited
vertex[i]->weight
vertex[i]->prev

我不断收到以下错误:

error: ‘vertex_t’ has no member named ‘visited’
error: ‘vertex_t’ has no member named ‘weight’
error: ‘vertex_t’ has no member named ‘prev’

谁能帮我理解为什么我不能这样做?

最佳答案

Okay so I can do it after the for loop in which I malloced it?

在循环中你会做得更好。

    vertex_t *vertex[G->vertices];
for (i = 0; i < G->vertices; i++)
{
vertex[i] = malloc(sizeof(vertex_t));
vertex[i]->visited = 0;
vertex[i]->weight = FLT_MAX;
}

或者根据 Zeta 的建议:

    vertex_t vertex[G->vertices];
for (i = 0; i < G->vertices; i++)
{
vertex[i].visited = 0;
vertex[i].weight = FLT_MAX;
}

关于c - 未找到结构体成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20109818/

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