Ich habe zwei Dateien (.h und .c für jeden von ihnen). Ich bin die Definition der folgenden Struktur in einem der Header-Dateien:Wie definiere und schreibe ich eine Struktur, die einen Zeiger auf sich selbst enthält?
typedef struct Client{
int fd;
struct in_addr ipaddr;
struct Player * p;
struct Client * next;
}Client;
ich eine Reihe von verschiedenen vorgeschlagenen Kombinationen von typedef versucht haben und Struktur, aber ich bin noch immer error: redefinition of ‘struct client’
Ich fange an denke, das hat mit der Tatsache zu tun, dass beide Header-Dateien einander enthalten.
Ich erstelle diese Struktur richtig? Gibt es einige grundsätzliche Regeln, denen ich beim Einfügen von Header-Dateien folgen sollte?
Ich glaube nicht, Ihr Problem einen Zeiger auf sich selbst bezogen ist, eine Struktur zu haben, enthält. – immibis
Das Problem mit dieser Frage ist, dass der von Ihnen gepostete Code diesen Fehler nicht erzeugt. Ein [minimales, vollständiges und überprüfbares Beispiel] (https://stackoverflow.com/help/mcve) wird benötigt. – user3386109
Meine beste Vermutung ist, dass was Sie suchen, ist [Kopfwächter] (https://stackoverflow.com/documentation/c/447/preprocessor-and-macros/7662/header-include-guards#t=201608020345015731289) – user3386109