C++ namespaces zur Vermeidung langer Wege

Ich bin immer noch lernen, C++, und ich habe nie wirklich meine eigene namespaces vor. Ich war mit Ihnen zu Experimentieren, und während ich die meisten Dinge zu arbeiten, es gibt eine Sache, ich kann immer noch nicht scheinen, zu tun. Ich möchte in der Lage sein, zum aufrufen einer statischen Methode in einer Klasse ohne die Eingabe so etwas wie NameOfClass::method. Hier ist, was ich dachte, der code Aussehen sollte, aber es nicht kompilieren:

Datei A.h,

namespace Test
{
    class A
    {
        public:
            static int foo() { return 42; }
    };
}

Datei main.cpp,

#include <iostream>

#include "A.h"

using namespace std;
using namespace Test::A;

int main()
{
    cout << foo() << endl;

    return 0;
}

Der compiler gibt mir:

main.cpp:6: error: A is not a namespace-name
main.cpp:6: error: expected namespace-name before ‘;’ token
main.cpp: In function int main()’:
main.cpp:10: error: foo was not declared in this scope

Ist es möglich, das zu tun, was ich versuche zu tun, ohne die Eingabe A::foo?

InformationsquelleAutor | 2009-04-02
Schreibe einen Kommentar