2010-12-29 7 views
3

InitializeQTML ist eine Funktion in QTML.h. Ich bin ein Wrapper zu schreiben, und ich möchte den Namen InitializeQTML für die Wrapper-Funktion verwenden:Auflösen von C++ Name Kollision

#include <QTML.h> 

public class QuickTime 
{ 
    public: 
    static void InitializeQTML(InitializationFlags flag) { 
     InitializeQTML((long)flag)); 
    }; 
}; 

Wie kann ich die ursprüngliche InitializeQTML Funktion aus dem Inneren der Wrapper-Funktion referenzieren und den Namen Kollision vermeiden, ohne den Wrapper zu umbenennen?

Antwort

6

Sie können den Namen qualifizieren. Wenn die QTML Bibliothek InitializeQTML Funktion im globalen Namespace ist, können Sie dies in Ihrer QuickTime::InitializeQTML statischen Member-Funktion verwenden, um es zu verweisen:

::InitializeQTML((long)flag); 
^ look in the global namespace 
+0

, die hilfreich war. Vielen Dank! – jnm2

+0

@ jnm2: Es gibt eine "Tick" -Option, um eine Antwort hier auf SO zu akzeptieren, Sie sollten es auf der linken Seite sehen. – Kos

+0

Ich warte, bis ich kann. Jetzt heißt es "Du kannst eine Antwort in 7 Minuten annehmen." – jnm2