Methodenaufruf inline
-
und welchen fehler meldet der compiler genau?
deine meldungen mit "ein fehler bei set*" sind nicht extrem hilfreich, wenn ich bei dieser monsterklasse nen tippfehler suche.wo ist die setIDCMPFLag() definiert oder deklariert?
-
volkard schrieb:
wo ist die setIDCMPFLag() definiert oder deklariert?
Oder besser: wie?
-
Die Methode steht doch oben unterhalb der private-Variablen. Sie ist als private-Methode angelegt.
Tippfehler schließe ich wie gesagt ja aus!
Wieso Monsterklasse? Ist sie denn so extrem groß?
Wie splittet man denn sowas ansonsten (wenn man Fensterdaten darstellen will, könnte höchstens die notify-Sachen in ner Extraklasse kapseln die dann nur intern verfügbar ist)?Die Fehlermeldung ist:
implicit declaration of function int setIDCMPFlag(...)Und zwar bei der Zeile mit notifyRefreshWindow...
Hatte diese Zeile aber schon mit der darunter stehenden vertauscht. Fehler wurde dann bei dieser Funktion gemeldet.
In der darüberliegenden Zeile ist die Inlinemethode aber genauso benutzt!
-
Reth schrieb:
Tippfehler schließe ich wie gesagt ja aus!
man achte auf das 'L' bzw 'l' in "setIDCMPFLag()" bzw "setIDCMPFlag()" tt
-
Reth schrieb:
Die Fehlermeldung ist:
implicit declaration of function int setIDCMPFlag(...)und jetzt statt ... bitte den ganzen text.
vielleicht bringt mich das auf ne idee.
aber vermutlich nicht. der von dir geschilderte fehler kann gar nicht sein.
-
Hier der gesamte Fehler, inkl. ner Warning.
Am Ende ist es (hoffentlich) wieder was Banales, was ich übersah!
g++ -c -o o/gcc-classic-stable/WindowC.o WindowC.cc
In file included from WindowC.h:5,
from WindowC.cc:5:
WindowDataC.h: In methodvoid WindowDataC::notifyRefreshWindow()': WindowDataC.h:42: implicit declaration of function
int setIDCMPFLag(...)'
WindowC.cc: In method `void WindowC::open(const WindowDataC &)':
WindowC.cc:9: warning: converting NULL to non-pointer type
make: *** [o/gcc-classic-stable/WindowC.o] Error 1
Done.
-
dann schauen wir uns das mal an:
WindowDataC.h:42: implicit declaration of function `int setIDCMPFLag(...)'
hmm der von life genannte verschreibsler, denn in deiner Klasse steht das:
[cpp]
inline void setIDCMPFlag(ULONG flag) { flagsIDCMP = flagsIDCMP | flag; }
[/cpp]
-
Danke für die Aufklärung!
Man wie peinlich! Obwohl ich die Methoden immer kopiert hatte!Bin ja froh, dass es nur ein Tippfehler war!
Danke für alle Hilfen!
-
Hi Reth,
du scheinst ja die Amiga Intuition Lib nachbilden zu wollen.
Das habe ich auch schon getan und somit ein paar alte Amiga-Programme (in C geschrieben) unter Windows zum Laufen gebracht (mit dem Borland C++ Bilder 5).Falls du weitere Hilfe brauchst oder einige Dateien (bzw Source-Code), dann mail mir einfach an:
privat: TBentrup@bitel.net
bzw.
Arbeit: T.Bentrup@ascaron.com
-
Th schrieb:
Hi Reth,
du scheinst ja die Amiga Intuition Lib nachbilden zu wollen.
Das habe ich auch schon getan und somit ein paar alte Amiga-Programme (in C geschrieben) unter Windows zum Laufen gebracht (mit dem Borland C++ Bilder 5).Falls du weitere Hilfe brauchst oder einige Dateien (bzw Source-Code), dann mail mir einfach an:
privat: TBentrup@bitel.net
bzw.
Arbeit: T.Bentrup@ascaron.comHey, dachte nicht, dass das so schnell erkannt wird!
Nun ja stimmt nicht ganz. Ich mach mir ein paar Klassen in C++, damit ich auf meinem A4000 mit dem GCC in C++ mein Amigaprogramm entwickeln kann.
Werde aber gern auf Dein Angebot zurückkommen, wenn ich wieder mal festhänge!
Danke!