E2034 Konvertierung von 'char const[5]' nach 'const wchar_t *' nicht möglich



  • Hey,

    ich habe mal wieder ein kleines Problem, dass ich mir nicht erklären kann..

    Application->MessageBox("Text","Cap",16);
    

    Das ist das Codestück, dass den Fehler auslöst. Mir ist klar, dass die Funktion einen const wchar_t* erwartet, aber warum werden meine Anführungszeichen nicht als solchen interpretiert?

    Vielen Dank!



  • Frolo schrieb:

    Das ist das Codestück, dass den Fehler auslöst. Mir ist klar, dass die Funktion einen const wchar_t* erwartet, aber warum werden meine Anführungszeichen nicht als solchen interpretiert?

    "Text" => 5 Bytes, const char*
    L"Text" => 10 Bytes, const wchar_t*

    P.S: Das dritte Argument ist nicht gerade sprechend gewählt, dafür gibt es aus guten Grund Konstanten, die man auch binär verodern kann (wie "MB_OK | MB_ICONINFORMATION").



  • Da sind wir wieder beim Thema Grundlagen. Wenn du google bemüht hättest, dann hättest du unter den ersten Treffer den Hinweis auf den Encoding Präfix L bekommmen, das man dem Stringliteral voranstellen muss, um es Literal als WideString zu kennzeichnen.



  • Ach was, geht doch viel schneller, hier nachzufragen und all die moralischen Zeigefinger zu ignorieren, bis jemand sich erbarmt und die Lösung postet 🙂

    Hoffentlich programmiert er nur so zum Spaß.


Anmelden zum Antworten