C++ - namespace-alias und vorwärts-Deklaration

Ich bin mit einem C++ Drittanbieter-Bibliothek, die Orte, die alle Ihre Klassen in einem versionierten namespace, nennen wir es tplib_v44. Außerdem definieren Sie eine generische namespace-alias:

namespace tplib = tplib_v44;

Wenn eine vorwärts-deklarieren, die ein Mitglied der Bibliothek in meiner eigenen .h-file, mithilfe der generischen namespace...

namespace tplib { class SomeClassInTpLib; }

... Bekomme ich compiler Fehler auf dem Kopf-in die third-party Bibliothek (die wird später in meine .cpp-Implementierung-Datei):

error C2386: 'tplib' : a symbol with this name already exists in the current scope

Nutzen, wenn ich die version-spezifischen namespace, dann funktioniert alles wunderbar, doch dann ... was ist der Punkt? Was ist der beste Weg, um damit umzugehen?

[BEARBEITEN] zur info für zukünftige Zuschauer, das war der ICU-Bibliothek. Eine Lösung (zumindest in meiner situation) ist in den Kommentaren zu den akzeptierten Antworten.

InformationsquelleAutor Dave Mateer | 2010-06-12
Schreibe einen Kommentar