gpt4 book ai didi

c - 错误 :request for member 'id' in something not a structure or union

转载 作者:太空宇宙 更新时间:2023-11-04 08:15:05 24 4
gpt4 key购买 nike

我正在编写一个比较两个顶点的 id 的函数。

/* Returns whether aim and vertex have the same id */

bool id_eq(void *aim, void *vertex) {
if(*(Vertex)aim.id ==*(Vertex)vertex.id){
return true;
}
return false;
}

aim和vertex是struct vertex_t的两个指针。

typedef struct graph_t* Graph;
typedef struct vertex_t* Vertex;

/* A vertex is an id, a label and a list of incoming and outgoing edges */
struct vertex_t {
int id;
char *label;

/* A list of vertices representing incoming edges */
List in;
/* A List of vertices representing outgoing edges */
List out;
};

但是当我编译它时,发生了一个错误,如“错误:在非结构或 union 的东西中请求成员‘id’”。谁能告诉我哪里出错了???

最佳答案

改变

if(*(Vertex)aim.id ==*(Vertex)vertex.id){

if((Vertex)aim->id == (Vertex)vertex->id){

if((*(Vertex)aim).id == (*(Vertex)vertex).id){

(Vertex)aim 转换为“指向结构 vertex_t 的指针”。然后,您可以使用 -> 运算符获取它指向的 struct vertex_tid

另请注意,*(deference) 比 .-> 有一个较低级过程。

关于c - 错误 :request for member 'id' in something not a structure or union,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36243103/

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