不透明な構造と関連する API を次のように定義しました。
typedef struct foo foo;
foo *create_foo(...);
delete_foo(foo *f);
C ファイルで構造を定義できません。再定義エラーが発生します。
typedef struct foo {
int implementation;
}foo;
typedef なしで c ファイルで foo を使用できますが、typedef が必要です (つまり、foo* として直接使用します)。方法はありますか?