ライブラリには、エッジ、頂点、グラフなどの構造体がいくつかあります。その構造体の本体をユーザーから隠したい (ユーザーは API を使用する必要がある) ため、ヘッダー ファイル (例: edge.h) に次のように記述しました。
typedef struct edge edge_t;
また、edge 構造体の定義は edge.c にあります。
struct edge {...};
それはうまくいきますが、構造体の本体を自分のコードから隠したくありません。edge.c で使用したい:
vertex_t v;
v.some_attribute = x;
不完全な型エラーへのポインターを逆参照するようになりました。これを修正することは可能ですか? すべての構造体要素にアクセサ (ユーザーなど) を使用する他のオプションはありますか?