error C2664: durch Kompilieren mit Visual C++ 2005 Express



  • Hello Zusammen,

    ich habe die folgende Code geschrieben..

    fd = CreateFile(blockName,
        	      GENERIC_WRITE, 0, 0, 2,
    			  FILE_FLAG_WRITE_THROUGH, 0);
    

    und wenn ich Kompilierung durch Visual C++ 2005 Express,kriege ich die Fehleranmeldung.

    error C2664: 'CreateFileW': Konvertierung des Parameters 1 von 'char [20]' in 'LPCWSTR' nicht möglich
    1>        Die Typen, auf die verwiesen wird, sind nicht verknüpft; 
    die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
    

    Ich dachte nur vieleicht,dass ich falsche Paremeter für Funktion "CreateFile" gegeben habe.

    Ich hoffe,dass Sie mir bessere Vorschläge geben könnte.

    MFG



  • liliangjie schrieb:

    Ich dachte nur vieleicht,dass ich falsche Paremeter für Funktion "CreateFile" gegeben habe.

    Richtig erkannt - die Variable 'blockName' sollte kein char-Array sein, sondern ein TCHAR-Array (oder noch besser ein CString).

    (Wenn du genauere Erklärungen nach dem "warum" haben willst, such mal nach dem Thema "UNICODE")


Anmelden zum Antworten