error: Keine Klasse oder Namespace



  • Der compiler spuckt diese Meldung aus, woran könnte das liegen?
    Ich habe eine Klasse in einem Namespace in einer header datei deklariert, die header Datei ist in eine andere Datei eingebunden, in dieser Datei soll eine Instanz jener Klasse erstellt werden, der compiler hat aber was dagegen, warum?

    Das ganze sieht vereinfacht etwa so aus:

    //datei1.h
    namespace a
    {
        class b
        {
           ...
        };
    }
    
    //datei2.h
    ...
    #include "datei1.h"
    ...
    class c
    {
    public:
    ...
       a::b
    ...
    };
    ...
    


  • 1. Meldung posten.
    2. Die komplette Zeile mit a::b mittels copy&paste einfügen.
    Dann werden sie geholfen

    [ Dieser Beitrag wurde am 19.03.2003 um 06:49 Uhr von Lars editiert. ]



  • In der zeile a::b habe ich natürlich was vergessen hinzuschreiben, es muss a::b d heissen, die tatsächlichen namen die ich gewählt habe sind wohl eher unwichtig. Die Fehlermeldung habe ich schon als thema hingeschrieben: "error: Keine Klasse oder Namespace". Sie verweist auf die Zeile a::b d. Also ich kann mir das nicht erklären.



  • jup wahrscheinlich verbrigt sich der fehler wo anderes



  • Poste den Code aber snip die ganzen Implementationen weg.



  • class c
    {
    public:
    ...  // <- hier ein Fehler? Möglicherweise ein Smikolon vergessen?
       a::b
    ...
    };
    


  • ich hab den fehler gefunden, lag daran:

    //datei1.h
    #pragma once
    #include "datei2.h"
    
    //datei2.h
    #pragma once
    #include "datei1.h"
    

Log in to reply