Hallo Leute,

ich frage mich gerade wie sich folgendes Konstrukt am sinnvollsten in C umsetzen lässt:

Code:
typedef struct
{
	type_B B;
} type_A;

typedef uint8_t (type_B*)(type_A*);
Das Problem dabei ist natürlich, daß egal in welcher Reihenfolge diese beiden Deklarationen in der .h Datei stehen, sich dieser Code nicht kompilieren lässt (im dargestellten Fall wird type_B benutzt bevor er deklariert wurde, und wenn man die beiden Deklarationen vertauscht ist es eben type_A).

Ich könnte natürlich den Funktionspointer umbauen, und als Parameter ein void* verwenden, aber die Lösung gefällt mir wegen der fehlenden Typprüfung nicht besonders.