> Wobei das aber eher die Ausnahme für GTK3 ist, meist sind
> opaque Typen nur in den .c Dateien explizit spezifiziert, ...
Das mag sein, was immer Du damit meinst. :-) Hier geht es um
"Deklarationen" (oder Definitionen). Sowas wie "explizite
Spezifikationen" gibt es in C in dieser Beziehung nicht.
> ... und davon war ich ausgegangen.
Ein böser Fehler und eigentlich nicht recht verständlich. ;-)
Versuche mal eine leere Struktur zu deklarieren und sie zu
initialisieren. Der Compiler wird das garnicht akzeptieren. Auch die
Syntax-Beschreibung wird klarlegen, dass mindestens ein Mitglied genannt
werden muss.
Egal was in irgendeiner Dokumentation steht (und hier war ja
ausdrücklich von "opaque" die Rede) - an der C-Syntax kommt das
dazugehörige Programm niemals vorbei.
Die Schlussfolgerung wäre gewesen: In der Dokumentation steht etwas, das
NICHT C ist. Ergo: Die Dokumentation ist - sagen wir - unvollständig.
Aber wie schon gesagt. Das wurde hier ja auch AUSDRÜCKLICH angesagt.
Dann viel Erfolg noch.