Probleme mit namespace



  • Hallo,
    um ein wenig Ordnung zu schaffen, würde ich gerne meinem Projekt nachträglich einen eigenen Namespace verpassen. Dazu habe ich dann in jeder header datei entsprechend

    namespace bla{
    ...
    }
    

    und in jeder cpp datei

    using namespace bla;
    

    eingefügt, bekomme aber xmal die folgende Fehlermeldung:

    1>c:\program files (x86)\microsoft visual studio 8\vc\include\crtdbg.h(1141) : error C2039: 'delete[]': Ist kein Element von '`global namespace''
    1>c:\program files (x86)\microsoft visual studio 8\vc\include\crtdbg.h(1147) : error C2660: 'operator new': Funktion akzeptiert keine 4 Argumente
    1>c:\program files (x86)\microsoft visual studio 8\vc\include\crtdbg.h(1150) : error C2039: 'new[]': Ist kein Element von '`global namespace''
    

    Weiß jemand woran das liegen könnte? Vorher hat das Projekt einwandfrei funktioniert.
    Danke im voraus! 🙂



  • Du darfst die includes nicht in deinem namespace schreiben, also
    statt

    namespace bla
    {
    #include <iostream>
    //...
    
    #include <iostream>
    namespace bla
    {
    //...
    }
    


  • Beinhaltet Dein Namespace die Includes der C++ - Header?

    Also etwa so:

    namespace bla
    {
    ...
    #include <iostream>
    ...
    }

    Die solltest Du außerhalb des Namespace inkludieren, und in Deinem Namespace nur Deine eigenen Deklarationen vereinbaren.



  • Danke, in einer der Header dateien hatten sich #include <stdlib.h> und #include <crtdbg.h> versteckt, die das Problem ausgelöst haben!



  • 3DGamer schrieb:

    Danke, in einer der Header dateien hatten sich #include <stdlib.h> und #include <crtdbg.h> versteckt, die das Problem ausgelöst haben!

    #include <cstdlib>
    

Anmelden zum Antworten