Qstring zu LPCWSTR

8
%Vor%
  

C: \ kursovaya \ smc \ winapilibrary.cpp: 21: Fehler: ungültige Konvertierung von   'const ushort * {aka const kurz unsigned int *}' zu 'LPCWSTR {aka const   wchar_t *} '[-verfügbar]        Pfad = Name.utf16 ();

Dieser Code funktionierte in Qt 4.8, aber jetzt habe ich Qt 5.2 und dieser Code funktioniert nicht. Was ist los mit diesem Kerl?

    
user3132719 24.12.2013, 14:36
quelle

3 Antworten

4

QString::utf16() gibt const ushort* zurück, was sich von const wchar_t* unterscheidet, daher haben Sie den Kompilierungsfehler.

Sie erstellen wahrscheinlich mit /Zc:wchar_t . Wenn Sie es in /Zc:wchar_t- ändern, sollte es funktionieren, da wchar_t type in diesem Fall typedef zu 16-bit Integer wird.

In Visual Studio: Projekteigenschaften- & gt; Konfigurationseigenschaften- & gt; C / C ++ - & gt; Behandeln von WChar_t wie in Typ- & gt; Nein.

Oder fügen Sie einfach reinterpret_cast<LPCWSTR> hinzu.

    
Paul 24.12.2013, 14:43
quelle
9

Ich hatte das gleiche Problem (ich verwende Qt 5.3), so habe ich es behoben:

%Vor%     
Stradivari 14.10.2014 16:54
quelle
0

Ich verwende Qt 5.2 und ich hatte das gleiche Problem. So habe ich es behoben:

%Vor%     
Krishna 15.06.2015 14:18
quelle

Tags und Links