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 of Klasse' klasse.cpp:6: error: ISO C++ forbids defining types within return type klasse.cpp:6: error: two or more data types in declaration ofausgeben'
    klasse.cpp:6: error: prototype for Klasse Klasse::ausgeben()' does not match any in classKlasse'
    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.


Anmelden zum Antworten