c typedef(ed) opaque pointer
问题 I've defined an opaque structure and related APIs like this: typedef struct foo foo; foo *create_foo(...); delete_foo(foo *f); I am not able to define the structure in my c file. Gives redefinition error. typedef struct foo { int implementation; }foo; I am able to use foo in c file without typedef but I want the typedef (i.e. use it directly as foo*). Is there a way? 回答1: You already have the typedef in your header, so include that and define struct foo in the implementation without the