Fehler beim Compilieren



  • Hallo

    Ich habe folgendes Problem:
    -2 Klassen:
    -cInput
    -cInputBuffer

    -cInput besitzt einen Zeiger auf ein cInputBuffer Objekt

    Wenn ich den Spass jetzt kompiliere, bekomme ich folgenden Fehler:

    cInput.h(14) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'

    Wenn ich alle cInputBuffer Verweise aus cInput entferne (also ein cInputBuffer freies cInput habe), dafür in main() ein cInputBuffer Element erstelle klappt alles.
    Wenn ich nun DANACH alles cInputBuffer relevante wieder in cInput integriere, kompiliert alles ohne Probleme.
    Verändere ich nun etwas in der cInputBuffer Klasse, gehts nimmer.
    ➡ Solange er cInputBuffer.cpp/.h nicht mehr nochmals Kompilieren muss, ist alles gut

    Die Includes sind so gelöst, dass es ein Hauptfile gibt, welches von allen Includiert wird...

    Ich hoffe, das Problem ist einigermassen verständlich formuliert

    Allergrösten Dank für Hilfe!



  • Hmmm ich glaube dein Problem liegt daran, dass du alle Headers in einem globalen Header definiert hast. Könnte sein, dass er diese Datei beim Teilweise übersetzen nicht neu übersetzt, weil sich dort ja nix geändert hat. Daher wäre es wahrscheinlich besser an der Stelle mit einer Forward-Deklaration oder einem include im Header-File auf wenn das nicht wirklich schön ist.



  • Mathias schrieb:

    Hmmm ich glaube dein Problem liegt daran, dass du alle Headers in einem globalen Header definiert hast. Könnte sein, dass er diese Datei beim Teilweise übersetzen nicht neu übersetzt, weil sich dort ja nix geändert hat. Daher wäre es wahrscheinlich besser an der Stelle mit einer Forward-Deklaration oder einem include im Header-File auf wenn das nicht wirklich schön ist.

    vielen dank! forward deklaration hatte ich vergessen...


Anmelden zum Antworten