C++ - namespace-alias in der gesamten Klasse Anwendungsbereich

Erwartet, dass ich in der Lage sein, die Verwendung eines namespace-alias in der Deklaration einer Klasse, sondern ein compiler syntax error.

struct MyClass
{
    namespace abc = a_big_namespace;
    void fn() {
        abc::test();
    }
};

Nur so kann ich es auf der Arbeit ist es, den alias in jeder Funktion.

void fn() {
    namespace abc = a_big_namespace;
    abc::test();
}

Zusätzlich möchte ich in der Lage sein, um den alias für die Funktion Parameter. Ich habe nicht gefunden ein work-around dafür.

void fn(abc::testType tt) {
    abc::test(tt);
}

Gibt es eine Möglichkeit, das zu tun, was ich will?

EDIT: meine Lösung

Fand ich, dass ich nicht brauchen Unbenannte namespace für mein spezielles problem und kann einfach nicht dieses:

namespace myspace
{
    namespace abc = a_big_namespace;

    struct MyClass
    {
       void fn(abc::testType tt) {
          abc::test(tt);
       }
    };
}

Wechseln-die andere Bibliothek, das ist, was mein alias-namespace bezieht sich auf ich nur den alias ändern. Diese Methode erlaubt es sogar, die mich die gleiche Klasse in einer einzelnen Datei zweimal, jedes mal auf eine andere Bibliothek.
Vielen Dank für Ihre Hilfe.

InformationsquelleAutor Ant | 2011-05-19
Schreibe einen Kommentar