Anzeige:
Ergebnis 1 bis 4 von 4

Thema: c++config.h namespace error

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.02.2006
    Beiträge
    47

    c++config.h namespace error

    Hallo!

    Ich versuche ein Beispiel aus einem C++ Lehrbuch zu compilieren. Aber ich bekomme immer wieder diese Fehlermeldung:
    Code:
    clib > g++ -Wall -o cpplibTest cpplibTest.cpp cpplib.cpp
    /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/i486-linux-gnu/bits/c++config.h:43: error: expected unqualified-id before 'namespace'
    /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/i486-linux-gnu/bits/c++config.h:47: error: '__gnu_debug_def' is not a namespace-name
    /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/i486-linux-gnu/bits/c++config.h:47: error: expected namespace-name before ';' token
    /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/i486-linux-gnu/bits/c++config.h:43: error: expected unqualified-id before 'namespace'
    /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/i486-linux-gnu/bits/c++config.h:47: error: '__gnu_debug_def' is not a namespace-name
    /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/i486-linux-gnu/bits/c++config.h:47: error: expected namespace-name before ';' token
    Ich hab mir c++config.h schon angeschaut, werde aber nicht schlau, was da schief läuft. Ich steh ja auch noch so ziemlich am Anfang was C++ angeht
    Hatt jemand einen Rat?

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Also ich hätte jetzt mal einfach ein kritisches Auge auf den Code geworfen den du zu kompilieren versuchst. Kannst du den mal posten?

    Dann könnte man z.B. gucken ob der sich auf nem anderen Computer korrekt kompilieren lässt.

    Dito für den entsprechenden Abschnitt der c++config.h; ich habe hier gerade keinen gcc 4.1.2 (sondern einen 4.2 - wer weiss ob die Dateien gleich sind...).

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    13.02.2006
    Beiträge
    47
    Man bin ich ein Trottel!

    Hab ein Semikolon vergessen und zwar in der eigenen header datei clib.h.
    Die sieht so aus:
    Code:
    struct Stash {
        int size;      // Size of each space
        int quantity;  // Number of storage spaces
        int next;      // Next empty space
        unsigned char* storage;
    
        void initialize(int size);
        void cleanup();
        int add(const void* element);
        void* fetch(int index);
        int count();
        void inflate(int increase);
    }; // <- Genau das Semikoln war daran schuld
    Aber wie kommt denn der Compiler deswegen auf so ne komische Fehlermeldung?
    Geändert von musketaquid (15-08-2007 um 19:15 Uhr)

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von musketaquid Beitrag anzeigen
    Hab ein Semikolon vergessen und zwar in der eigenen header datei clib.h.
    Ein Klassiker

    Aber wie kommt denn der Compiler deswegen auf so ne komische Fehlermeldung?
    Naja, im Normalfall sind die Meldungen etwas durchsichtiger (ausser bei Templates). Das gehört aber irgendwie auch etwas zum lernen von C/C++, wobei es meistens aus der Reihenfolge des Codes schon eine einigermassen einleuchtende Erklärung gibt für so Sachen

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •