klassenbezeichner kein datentyp??
-
hi leute.
also ich bin gerade voll geschockt.
bastel grad an meinem Programm rum, und auf einmal erkennt der den klassennamen nicht als datentyp an ?!
hab das headerfile zu 100% inkludiert. Die struktur sieht wie folgt aus:gui.h: class cGUI { /*...*/ }; net.cpp: #include "gui.h" typedef void (*PROCBLA)(cGUI *Instance, char *, char *); /* . . . */
is doch eigentlich was selbstverständliches, dass das hier funktioniert oder?
Der Compiler bringt folgenden Fehler:net.h:17: error:
cGUIIRC' was not declared in this scope net.h:17: error:
Instance' was not declared in this scope
net.h:17: error: parse error before `*' tokendie klasse ist auch mit semikolon geschlossen usw. aber kann doch eigentlich nur an einem syntax fehler liegen oder?
vielen dank schonmal für Antworten
-
woher kommt cGUIRC? Das kommt in dem Code überhaupt nicht vor.
-
ach sorry, ich hab noch vergessen, dass cGUI dinge vererbt ... es sollte also so heißen:
class cGUI : QWidget /*....*/
schätzungsweise muss ich die klasse also anders ansprechen, aber wie?
-
cGUIIRC = cGUI
hab das IRC nur weggelassen für das beispiel damit ich nicht soviel tippen muss
-
keine ne idee?
wollt mich noch verbessern: class cGUI : public QWidget ... sollte es natürlich heißen
-
ah ich glaub ich bin der Sache etwas näher gekommen, es liegt höchstwarscheinlich daran (denke ich zumindest), dass sich die klassen gegenseitig benutzen, d.h:
net.h
inkludiert die gui.hwobei die gui.h auch schon auf die klasse von net.h zugreifen will.
ich bräuchte also praktisch einen "klassen prototyp" gibts sowas?
-
cMogli schrieb:
cGUIIRC = cGUI
cGUIIRC == cGUI
cMogli schrieb:
ich bräuchte also praktisch einen "klassen prototyp" gibts sowas?
Ja:
class cGUIIRC;
Moritz