Problem mit WCHAR*



  • Hallo zusammen!
    Habe folgendes Problem:

    Habe eine Funktion, die als Parameter einen Wert vom Typ WCHAR* oder LPWSTR erwartet, und zwar einen Pfad einer Datei, in diesem Fall eines Videos:

    //Deklaration
    void DShow_Play(HWND hWnd,WCHAR* filename);
    
    //Aufruf
    DShow_Play(hWnd,L"./Video/video.avi");
    

    Das funktioniert auch wunderbar.

    um einfach die Pfade ändern zu können, möchte ich das nun folgendermaßen gestalten:

    //Vorher Variable deklarieren
    WCHAR* video1 = L"./Verzeichnis/Datei.avi";
    
    //Aufruf
    DShow_Play(hWnd,video1);
    

    Aber jetzt gibt mir der Compiler die Fehlermeldung aus:

    error C2374: 'video1' : Neudefinition; Mehrfachinitialisierung
    c:\projekte\filmspiel\programmierung\kopie von filmspiel (mit spielschleife)\main.h(13) : Siehe Deklaration von 'video1'

    Habe das aber nur einmal in einer Headerdatei definiert, deshalb wundert mich das. Hoffe, jemand kann mir weiterhelfen..

    MfG
    Hundefutter



  • hast du den header eventuell mehrmals eingebunden?

    BTW:

    WCHAR* video1 = L"./Verzeichnis/Datei.avi";
    
    // sollte eher
    
    WCHAR video1[ ] = L"./Verzeichnis/Datei.avi";
    
    // lauten.
    

    Greetz, Swordfish



  • Jo, lag daran, dass ich die Headerdatei, in der die Variable deklariert wird, in zwei .cpp dateien eingebunden hatte. Läuft jetzt, danke! 🙂



  • Include Guards? 😃



  • (D)Evil schrieb:

    Include Guards? 😃

    Kannte ich noch gar nicht. Habs mir gerade mal angeguckt und sofort eingebaut....
    So ist es natürlich perfekt! 😉

    Danke für die Hilfen!

    MfG
    Hundefutter


Anmelden zum Antworten