Methode im Headerfile.



  • Hi,

    wie kann man in einem Headerfile, welches in mehrere andere cpp-Dateien eingebunden werden soll, eine Funktion deklarieren und definieren? Jede Class soll auf diese Funktion zugreifen können.

    Bis jetzt bekomme ich die Fehlermeldung vom Compiler, dass die Symbole mehrmals vorhanden sind.

    //headerfile
    #pragma once
    #include "stdafx.h"
    
    #define MSG(err, type) Message(err, type)
    
    void Message(long err, int type)
    {	
    }
    

    Gruß
    Konrad



  • inline davor schreiben.



  • Sk4terb0i schrieb:

    inline davor schreiben.

    danke das wars!



  • Normalerweise ist es ratsamer, Funktionen in .cpp-Dateien zu definieren. Damit sparst du dir die Rekompilierung aller Headerbenutzer bei jeder minimalen Änderung, zudem bleibt der Header übersichtlicher. Langsamer wird es nicht.

    Ausserdem würde ich "stdafx.h" ebenfalls am Anfang jeder .cpp-Datei einbinden...



  • http://www.c-plusplus.net/forum/p1993089#1993089

    Falls dir das zu kompliziert ist, einfach

    void Message(long err, int type);
    

    in den Header und das, was bei dir im Header steht (von der Funktion) in eine der C++-Dateien.


Log in to reply