gpt4 book ai didi

c - 在自己的库中取消引用指向不完整类型的指针

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

我的库中有几个结构:边、顶点、图。我想对用户隐藏该结构的主体(用户必须使用 API),所以在头文件(例如 edge.h)中,我刚刚放了:

typedef struct edge edge_t;

edge struct的定义在edge.c中

struct edge {...};

这很好用,但我不想在我自己的代码中隐藏结构体。我想在 edge.c 中使用:

vertex_t v;
v.some_attribute = x;

现在我得到了指向不完整类型错误的取消引用指针,是否可以解决这个问题?是否有任何其他选项对所有结构元素使用访问器(如用户)?

最佳答案

如果你需要使用来自其他源文件的结构,他们需要结构的完整定义。所以解决方案是将 struct edge {/* ... */} 也放在头文件中,并在需要时包含头文件。

关于c - 在自己的库中取消引用指向不完整类型的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10244455/

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