headerdatei



  • hallo!

    versuche einige funktionen in eine headerdatei auszulagern

    hab eine functions.cpp mit den ausprogrammierten funktionen.
    ganz oben steht dort auch # include "functions.h"

    in der functions.h sind die prototypen.

    wenn ich nun # include "functions.h" in das main-Programm schreibe, gibt der Compiler Fehler wie Semikolon danach oder unerwartetes Dateiende.
    Wenn ich die include weggebe, gibts keine fehler.

    Kann mir jemand helfen?
    Bitte



  • Du musst deinem Linker sag das er den Code zu den Prototypen aus functions.h in functions.cpp findet. Schau einfach mal in deiner IDE nach Projektzeugs und füg dort alle gebrauchten Dateien ein, oder mit nem Makefile.



  • meinst du z.B. bei VC 6.0 unter Projekte->Dem Projekt hinzufügen->Dateien und dann header und quelldatei auswählen?

    Das hab ich natürlich getan, trotzdem diese Fehler



  • Hallo,
    poste doch bitte mal die genaue Fehlermeldung.



  • das sind die Fehlermeldungen, wenn ich die include so angeordnet hab

    # include <iostream>
    using namespace std;
    
    # include "midwrt.h"
    # include "Umlaute.h"
    # include "functions.h"
    

    warning C4518: 'void ' : Unerwartete(r) Speicherklassen- oder Typbezeichner; wird ignoriert
    : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'search'
    : fatal error C1004: Unerwartetes Dateiende gefunden



  • Was für Fehler kommen denn, wenn du die includes umstellst? Es könnte sein, daß der Compiler durch einen Fehler weiter oben etwas verwirrt ist (z.B. eine Klassendeklaration ohne abschließendes Semikolen).



  • mit der include fängts an:

    //Präprozessordirektiven//
    # include <iostream>
    
    using namespace std;
    
    # include <ctype.h>
    # include <conio.h>
    
    # include "midwrt.h"
    # include "Umlaute.h"
    # include "functions.h"
    
    ///GLOBALE VARIABLEN////
    class Knoten *root;
    
    //////////PROTOTYPEN//////////
    
    void search();
    void input();
    
    int main()
    {
    ...
    }
    

    wenn ichs so stelle:

    # include <iostream>
    
    using namespace std;
    
    # include <ctype.h>
    # include <conio.h>
    
    # include "functions.h"
    # include "midwrt.h"
    # include "Umlaute.h"
    

    kommen die Fehler(werden auf midwrt.h zurückgeführt):

    : warning C4518: 'void ' : Unerwartete(r) Speicherklassen- oder Typbezeichner; wird ignoriert
    : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'midwrtstd'
    : fatal error C1004: Unerwartetes Dateiende gefunden



  • hat das noch niemand gehabt?

    Muss es entweder HEUTE noch zusammenbringen, oder es ist hinfällig

    Bitte daher um Hilfe, falls irgendjemand auch nur ansatzweise Lösungsvorschläge bieten könnte

    Danke



  • Mamal #include "stdafx.h" in jede .cpp Datei, vll hilfts, hab ich grad in dem Thema gelesen.

    Da gabs die Fehler "ähnlich".


Anmelden zum Antworten