base class undefined
-
das habe ich gemacht, aber diese fehlermeldung ist nicht verschwunden......das finde ich komisch
-
Hast du überhaupt die richtige Datei eingefügt? Und das bei allen drei abgeleiteten Klassen?
-
ja die basis klasse heisst Cc_LogfileAnalyse
-
Und in welcher Datei steht die Deklaration dieser Klasse (inklusive der Methoden)?
das finde ich komisch
Und ich finde es komisch, daß ich dreimal das gleiche erklären muß und wir immer noch keinen Schritt weiter sind
-
also die deklaration der klasse Cc_LogfileAnalyse ist Cc_LogfileAnalyse.h
-
nooby schrieb:
also die deklaration der klasse Cc_LogfileAnalyse ist Cc_LogfileAnalyse.h
Na bitte, dann mußt du genau diese Datei am Anfang der anderen Header-Dateien einbinden (-> #include "Cc_LogfileAnalyse.h").
-
aha jetzt sehe ich das problem, ich habe immer kranfhaft probiert die header datei der basis klasse in den h files der unterklasse zu includieren
-
habe jetzt zwar weniger fehler, aber die fehler meldung ist trozdem nicht weg :S
-
nooby schrieb:
aha jetzt sehe ich das problem, ich habe immer kranfhaft probiert die header datei der basis klasse in den h files der unterklasse zu includieren
ist doch richtig
// base.h class Base { }; // derived.h #include "base.h" class Derived : public Base { };
-
das hat ich schon vorher so jetzt habe ich aber immernoch die gleichen fehelr sogar mehrere
-
Kannst du mal den genauen Fehler angeben - inklusive der Zeile, in der er auftritt? Eventuell hast du dich beim Namen der Basisklasse nur verschieben - C++ ist sehr sensibel mit Groß- und Kleinschreibung.
-
class Cc_SLMYs : public Cc_LogfileAnalyse //fehler anzeige
{fehler wird beschrieben mit 'Cc_LogfileAnalyse' : base classe undefined
das komische ist, wenn ich die includes in den hfiles rausnehem gibt es weniger fehler aber es sind die gleichen
-
nooby schrieb:
das komische ist, wenn ich die includes in den hfiles rausnehem gibt es weniger fehler aber es sind die gleichen
Wie können es die gleichen Fehler sein, wenn da weniger kommen? Möglicherweise hast du ja im Basis-Header irgendwelchen Mist gebaut, z.B. hinter der Klassendefinition das Semikolon vergessen - nach so einer Kleinigkeit kann der Compiler schonmal aus dem Takt geraten.
-
nein also ich find nix, was ich auch noch komisch fand das ich vorher einen fehler hatte wegen der expression von einem kontruktor, aber bi dem stimte auch alles..........
-
was ich au noch komisch finde sind die fehler wegen ctime obwohl die ja im stdafx drinnen sind.....
-
Sehr ausführliche Fehlermeldungen
Am besten kopierst du einfach mal das, was dir dein Compiler ausspuckt, hier rein.
-
ok, sorry
das wenn ich die base klasse niergendswo includiert habe:
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_intervall.h(46) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(56) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(56) : error C2146: syntax error : missing ';' before identifier 'test'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(56) : error C2065: 'test' : undeclared identifier
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(58) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(58) : error C2146: syntax error : missing ';' before identifier 'test2'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(58) : error C2065: 'test2' : undeclared identifier
Cc_LogfileAnalyse.cpp
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_slmys.h(46) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_intervall.h(46) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_total.h(47) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_LogfileAnalyse.cpp(55) : error C2512: 'Cc_Total' : no appropriate default constructor available
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_LogfileAnalyse.cpp(71) : error C2512: 'Cc_Total' : no appropriate default constructor available
Cc_SLMYs.cpp
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_slmys.h(46) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(54) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(54) : error C2146: syntax error : missing ';' before identifier 'test'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(54) : error C2065: 'test' : undeclared identifier
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(56) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(56) : error C2146: syntax error : missing ';' before identifier 'test2'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(56) : error C2065: 'test2' : undeclared identifier
Cc_Total.cpp
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_total.h(47) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(59) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(59) : error C2146: syntax error : missing ';' before identifier 'test'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(59) : error C2065: 'test' : undeclared identifier
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(61) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(61) : error C2146: syntax error : missing ';' before identifier 'test2'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(61) : error C2065: 'test2' : undeclared identifier
Generating Code...
Error executing cl.exe.AnalyseToolTester.exe - 26 error(s), 0 warning(s)
-------------------------------------------------------------------------
mit basis klassen includes
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_slmys.h(46) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_total.h(47) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(126) : error C2146: syntax error : missing ';' before identifier 'IntervallStatistics'
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(126) : error C2501: 'Cc_Intervall' : missing storage-class or type specifiers
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(126) : error C2501: 'IntervallStatistics' : missing storage-class or type specifiers
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(53) : error C2512: 'Cc_LogfileAnalyse' : no appropriate default constructor available
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(56) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(56) : error C2146: syntax error : missing ';' before identifier 'test'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(56) : error C2065: 'test' : undeclared identifier
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(58) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(58) : error C2146: syntax error : missing ';' before identifier 'test2'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(58) : error C2065: 'test2' : undeclared identifier
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Intervall.cpp(84) : error C2512: 'Cc_LogfileAnalyse' : no appropriate default constructor available
Cc_LogfileAnalyse.cpp
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_slmys.h(46) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_intervall.h(46) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_total.h(47) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_LogfileAnalyse.cpp(55) : error C2512: 'Cc_Total' : no appropriate default constructor available
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_LogfileAnalyse.cpp(71) : error C2512: 'Cc_Total' : no appropriate default constructor available
Cc_SLMYs.cpp
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_intervall.h(46) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_total.h(47) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(124) : error C2146: syntax error : missing ';' before identifier 'SlmyStatistics'
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(124) : error C2501: 'Cc_SLMYs' : missing storage-class or type specifiers
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(124) : error C2501: 'SlmyStatistics' : missing storage-class or type specifiers
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(51) : error C2512: 'Cc_LogfileAnalyse' : no appropriate default constructor available
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(54) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(54) : error C2146: syntax error : missing ';' before identifier 'test'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(54) : error C2065: 'test' : undeclared identifier
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(56) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(56) : error C2146: syntax error : missing ';' before identifier 'test2'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(56) : error C2065: 'test2' : undeclared identifier
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_SLMYs.cpp(82) : error C2512: 'Cc_LogfileAnalyse' : no appropriate default constructor available
Cc_Total.cpp
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_slmys.h(46) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_intervall.h(46) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(125) : error C2146: syntax error : missing ';' before identifier 'TotalStatisics'
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(125) : error C2501: 'Cc_Total' : missing storage-class or type specifiers
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(125) : error C2501: 'TotalStatisics' : missing storage-class or type specifiers
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(56) : error C2512: 'Cc_LogfileAnalyse' : no appropriate default constructor available
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(59) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(59) : error C2146: syntax error : missing ';' before identifier 'test'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(59) : error C2065: 'test' : undeclared identifier
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(61) : error C2275: 'CTime' : illegal use of this type as an expression
c:\program files\devstudio6\vc98\mfc\include\afx.h(1532) : see declaration of 'CTime'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(61) : error C2146: syntax error : missing ';' before identifier 'test2'
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(61) : error C2065: 'test2' : undeclared identifier
D:\HTE_WSP\U\VOBS\HTE\CODE\COMMON\CheckWorkloadAnalysetool\AnalyseTool\Cc_Total.cpp(87) : error C2512: 'Cc_LogfileAnalyse' : no appropriate default constructor available
Generating Code...
Error executing cl.exe.AnalyseToolTester.exe - 44 error(s), 0 warning(s)
-
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_slmys.h(46) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_total.h(47) : error C2504: 'Cc_LogfileAnalyse' : base class undefined
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(126) : error C2146: syntax error : missing ';' before identifier 'IntervallStatistics'
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(126) : error C2501: 'Cc_Intervall' : missing storage-class or type specifiers
d:\hte_wsp\u\vobs\hte\code\common\checkworkloadanalysetool\analysetool\cc_logfileanalyse.h(126) : error C2501: 'IntervallStatistics' : missing storage-class or type specifiersWenn ich mir das ansehe, hast du vermutlich die Reihenfolge der Anweisungen vertauscht - du mußt erst den Basis-Header includen und danach die abgeleiteten Klassen definieren.
(eventuell sind bei dir auch Include-Guards hilfreich)
PS: CTime ist übrigens eine Klasse der MFC - wenn du eine eigene Variable CTime nennst, gibt es einen Namenskonflikt.
-
ok ich versuchs mal
ich wollte ja auch die klasse CTime benutzen, das ich nicht eine klasse von mir
-
kannst du mir ein beispiel zeigen ich versteh nicht ganz was du meinst. weil ich habe in den h files die basisklassen header zu oberst