Wie kann ich Zeiger auf Strukturen übergeben, die private Definitionen haben, ohne die Zeigertypen mit struct
voranzutreiben?Übergabe von Zeigern an private Strukturen in C?
Zum Beispiel das funktioniert:
typedef struct Handle {
Ino ino;
} Handle;
bool handle_open(Handle **);
Aber wenn ich die Struktur Definition in eine Quelldatei, andere Quelldateien sind gezwungen, bewegt struct Handle *
zu verwenden, statt Handle *
.
Dies scheint gut zu funktionieren. Allerdings bekomme ich Fehler, wenn der Typedef mehrmals auf den gleichen Typ ausgeführt wird. Irgendwie nervig, immer noch probier es aus. –
Was bedeutet "zum selben Typ gemacht"? – lijie
oh. Ich verstehe es. wie in, wenn Sie 'typedef struct Handle Handle; typedef struct Handle Handle; '? Es gibt einen Fehler, weil Sie das Typedef 'Handle' zweimal definieren. Wenn es in einer Headerdatei auftritt, verwenden Sie bitte include guards. – lijie