Mit g++ Klassen compilieren
-
Hallo allerseits.
Ich hab hier 3 Datein.
1. klasse.h#ifndef __Klasse_H #define __Klasse_H class Klasse{ public: void ausgeben(void); } #endif
2.klasse.cpp
#include <iostream> #include "klasse.h" void Klasse::ausgeben(void) { std::cout<<"test"; }
3. test.cpp
#include "klasse.h" int main() { Klasse x(); x.ausgeben; return 0; }
Egal ob nun erst klasse.cpp compilieren will (mit oder ohne -c)
oder test.cpp , irgentwie kommen da immer ziemlich viele Fehlermeldungnen.
Gibts einen Reihenfolge, in der man das alles compilieren muss?
-
kann es sein, dass du in "klasse.h" ein semikolon vergessen hast?
ansonsten wär's gut, die fehlermeldungen zu posten...
-
Wenn ich g++ -c klasse.cpp zu kompilieren versuche, tauchen folgende Fehlermeldungen auf:
psycomantis@linux:~/klasse> g++ -c klasse.cpp
klasse.cpp:4: error: semicolon missing after declaration ofKlasse' klasse.cpp:6: error: ISO C++ forbids defining types within return type klasse.cpp:6: error: two or more data types in declaration of
ausgeben'
klasse.cpp:6: error: prototype forKlasse Klasse::ausgeben()' does not match any in class
Klasse'
klasse.h:6: error: candidate is: void Klasse::ausgeben()
klasse.cpp:6: error: `Klasse Klasse::ausgeben()' and `void Klasse::ausgeben()'
cannot be overloaded
klasse.cpp:6: error: semicolon missing after declaration of `class Klasse'Welches Semikolon meinst du?
-
[cpp]
class Klasse{
public:
void ausgeben(void);
}; // <== das da
[/cpp]
-
Ahhh, peinlich, immer diese kleinen Zeichen die man übersieht.
Okay , vielen dank jetzt funktionierts.
-
Naja, irgendwie peinlich, das du nicht mal die Fehlermeldungen liest! Gleich in der ersten Zeile steht drin, das ein Semikolon fehlt! ts ts tss
-
Artchi schrieb:
Naja, irgendwie peinlich, das du nicht mal die Fehlermeldungen liest! Gleich in der ersten Zeile steht drin, das ein Semikolon fehlt! ts ts tss
Ja, aber da vor der Fehlermeldung "klasse.cpp" stand hab ich irgentwo in der klasse.cpp gesucht.
Aber hast Recht.