我的库中有几个结构:边缘、顶点、图形。我想向用户隐藏该结构的主体(用户必须使用 API),所以在头文件(例如 edge.h)中我刚刚放了:
typedef struct edge edge_t;
边缘结构的定义在 edge.c
struct edge {...};
这很好用,但我不想从我自己的代码中隐藏 struct 的主体。我想在 edge.c 中使用:
vertex_t v;
v.some_attribute = x;
现在我得到了指向不完整类型错误的取消引用指针,是否可以解决这个问题?是否有任何其他选项对所有结构元素使用访问器(如用户)?