Deklaration im global namespace



  • Kann man innerhalb eines namespaces sagen, daß eine Deklaration in den globalen (bzw. einen anderen) namespace soll, ohne den namespace zu- und wieder aufzumachen?

    namespace Foo
    {
       // ....viel Zeuchs für namespace Foo....
    
    }  // Foo zu                         <<<---- NERVT!
       // Deklaration die in den global namespace soll:
       int Bar();
    namespace Foo  // Foo wieder auf     <<<---- NERVT!
    {
    
       // ....viel Zeuchs für namespace Bar....
    };
    


  • peterchen schrieb:

    Kann man innerhalb eines namespaces sagen, daß eine Deklaration in den globalen (bzw. einen anderen) namespace soll, ohne den namespace zu- und wieder aufzumachen?

    falls es geht, dann müßte die syntax so aussehen:

    namespace Foo
    {
       // ....viel Zeuchs für namespace Foo....
    
    // Deklaration die in den global namespace soll:
    int ::Bar();
    
       // ....mehr viel Zeuchs für namespace Foo....
    };
    

    geht das nicht, dann geht vielleicht was gemeineres:

    namespace Foo
    {
       // ....viel Zeuchs für namespace Foo....
    
    // Deklaration die in den global namespace soll:
    struct Dummy{
       friend int Bar();
    }
    
       // ....mehr viel Zeuchs für namespace Foo....
    };
    


  • Hmmm.. ersteres hab ich schon probiert, und das zweite geht zumindest auf meinem lieben VC6 nicht (hab hier keinen anderen - und auch keinen Standard)

    Die Idee gefällt mir aber, auch wenn's nix hilft 😉

    von der Funktion Bar() gibt es schon ein ganz paar andere overloads, und eigentlich hab ich geschwindelt - es soll am liebsten nicht nur eine deklaration, sondern eine inline-Implementation werden. Naja, wahrscheinlich will ich mal wieder zu viel....

    Danke trotzdem


Anmelden zum Antworten