(Sinnloser?) Compiler-Fehler



  • Bin gerade am Verzweifeln. Entweder ich überseh hier irgendetwas komplett ersicht-
    liches oder ich hab tatsächlich ein Problem. Die Situation ist eigentlich ganz
    einfach und der Fehler (eigentlich) absolut Low-Level.

    Also ich hab eine Klassendeklaration in der Datei postgres.h

    class Postgresql : public DB
    {
    public:
        Postgresql();
        [...]
    }
    

    Zur Verwendung dieser include ich die Header-Datei:

    #include "postgres.h"
    
    [...]
    Postgresql abc();
    [...]
    

    Was bekomm ich? Einen "Error C2061: Syntaxfehler : Bezeichner 'Postgresql'"

    Bin ich jetzt total blöde geworden oder kann der C2061 auch noch durch andere
    Dinge ausgelöst werden, als fehlende Typdeklarationen? Der Fehler passiert
    ürbigens nicht, wenn ich eine Instanz in der postgres.h Datei anlege. Anderer-
    seits bekomme ich auch keinen Fehler, dass er die include nicht findet und
    ich bin mir sicher, dass diese im richtigen Verzeichnis ist.

    😕

    Vielleicht habt ihr ja Ideen 😞



  • wild guess:
    ; nach der Klassendefinition vergessen?



  • Shade Of Mine schrieb:

    wild guess:
    ; nach der Klassendefinition vergessen?

    Leider nein.



  • EnERgYzEr schrieb:

    Leider nein.

    Tja, dann musst du schrittweise dein Programm kuerzen bis der Fehler nicht mehr auftritt oder es so klein ist, dass du es posten kannst. Denn mehr als ins blaue Raten kann man hier wohl nicht.

    uU auch mal kurz die Praeprozessor Ausgabe ansehen, ob da ein boeses #define seine Finger im Spiel hat...



  • Vielleicht nen Include Guard falsch verwendet...?



  • godlikebot schrieb:

    Vielleicht nen Include Guard falsch verwendet...?

    Das wars 😉 - Ich hab einige von DB abgeleitete Klassen, die ich (wenn ich neue
    anlege) immer wieder kopiere und dann jeweils der jeweiligen DB anpasse. Nur hab
    ich dummerweise auch den Include-Guard mitkopiert, so dass zwei Klassen den
    selben #define hatten. Sonst hab ich immer dran gedacht, aber diesmal hab ich
    das wohl im Eifer des Gefechtes vergessen 🙄

    Schuld sind natürlich die kryptischen Include-Guards von MS - da muss man ja
    sowas übersehen
    🤡



  • Hihi, schon als ich die Topic-Überschrift gesehen habe, habe ich mir gedacht: Nein, ganz bestimmt nicht sonnlos! Denn das Problem sitzt meistens nicht im sondern vorm Computer! :p 😉



  • War ich mir auch sicher 😉

    Aber ihr kennt ja diese Fehler, die so offensichtlich sind, dass man sie nicht
    findet 😉


Anmelden zum Antworten