Methoden außerhalb vom class{}- Rumpf definieren



  • Moin ;

    mein Versuch

    class Response{};
    void Response::control(){};
    

    scheitert mit einer Fehlermeldung

    error: two or more data types in declaration of 'control'
     void Response::control(){};
    

    die ich wiedermal nicht verstehe. Kann mir bitte mal jemand auf die Sprünge helfen?

    Viele Grüße!



  • Die Deklaration der Klassenfunktion muß schon in der Klasse selbst erfolgen (dafür erzeugt man ja üblicherweise die Headerdateien), nur die Definition kann dann auch außerhalb (bzw. in einer eigenen Codedatei) erfolgen:

    // Header
    class Response
    {
        void control();
    };
    
    // Source
    void Response::control()
    {
    }
    

    Und die Angabe der Sichtbarkeit (public, protected, private) muß (wenn nicht standardmäßig private) dann auch noch in die Klassendefinition.



  • @Th69

    Vielen Dank!!! Mein Fehler war wiedermal ganz woanders 😉
    Aber so langsam wird das schon mit mir und C++ 😉

    Viele Grüße!


Anmelden zum Antworten