次のように、C で構造体とコールバック関数の型を定義する必要があります。
typedef void (*callback)(struct XYZ* p);
struct {
int a;
int b;
callback cb;
} XYZ;
各定義が他の定義を必要とするため、このコードはコンパイルされません。つまり、コールバック定義が最初に来ると、構造体を定義する必要があるため、コンパイルされません。同様に、構造体が最初に定義されている場合は、コールバックを定義する必要があります。これはばかげた質問かもしれませんが、そのような問題を解決する明確な方法はありますか?
現在、私の考えは、コールバック引数として void * を使用し、それを型キャストして、コールバック内で XYZ を構造化することです。何か案は?