Я определил непрозрачную структуру и связанные API, как это:
typedef struct foo foo;
foo *create_foo(...);
delete_foo(foo *f);
Я не могу определить структуру в моем c-файле. Выдает ошибку переопределения.
typedef struct foo {
int implementation;
}foo;
Я могу использовать foo в файле c без typedef, но я хочу использовать typedef (то есть использовать его непосредственно как foo *). Есть ли способ?