power-poler
Goto Top

Struct in Header funktioniert nicht

Morgen,

Versuche gerade einen Header mit structs zu erstellen.
Aber es will einfach nicht.
Ich glaube ich mache nur einen gewaltigen Denkfehler, komme bei besten willen nicht drauf was ich falsch mache.
Hoffe ihr könnt mich auf den richtigen Weg führen um dieses Problem zu lösen.
#include <Windows.h>



struct _punkt{
	COORD P;
	int color;
	char zeichen;

};
struct _block{
	struct _punkt *eins,*zwei,*drei,*vier;

};

struct _block* makeblock(COORD P,int color, char C);
Fehler 1 error C2011: '_punkt': 'struct' Typneudefinition blockgen.h 5 1 Test2
Fehler 2 error C2011: '_block': 'struct' Typneudefinition blockgen.h 11 1 Test2

Diese Fehlermeldung bekomme ich, und ich kann nichts damit anfangen..
Auch wird mir manchmal gesagt: Funktionen die sich nur im Rückgabewert unterscheiden dürften nicht überladen werden. Die Meldung bezieht sich auf makeblock. Sie verschwindet dann aber auch sofort wider, kann mir das wirklich nicht erklären. In dem Gesamten Programm existiert nur eine Funktion dieses Namens.
Weil er diese structs nicht anlegen kann/will funktioniert natürlich auch der Rest des Programms nicht.

Hoffentlich könnt ihr mir da weiterhelfen.
Schonmal Danke für eine Antwort.
Mfg
Power-Poler

Content-Key: 230398

Url: https://administrator.de/contentid/230398

Ausgedruckt am: 29.03.2024 um 15:03 Uhr

Mitglied: colinardo
Lösung colinardo 19.02.2014 aktualisiert um 13:49:43 Uhr
Goto Top
Tach auch,
bin jetzt grad nicht mehr so fit in C++, aber wenn der Compiler sagt das der Typ schon existiert, dann hast du den Header vermutlich mehrfach eingebunden, und Underscores am Anfang des Namens einer Struct zu verwenden solltest du unbedingt vermeiden: http://stackoverflow.com/questions/5825084/compile-error-struct-type-re ...

Grüße Uwe
Mitglied: Power-Poler
Power-Poler 19.02.2014 um 13:49:37 Uhr
Goto Top
DANKE DANKE DANKE
Das hat mich auf den Lösungsweg geführt.
Hatte in einem der anderen Header schon blockgen.h eingebunden.
Diesen hab ich dan in eine cpp eingebunden und dort nochmal blockgen.h drinstehen
wenn ich mich nicht verzählt habe, war es somit 2-3 mal eingebunden...
Wie auch immer, danke, er compiliert jetzt endlich und ich kann mich um andere Probleme Kümmern :D