Frage

Ich habe ein Makro für eine Zeichenfolge wie folgt:

#define APPNAME "MyApp"

Jetzt möchte ich eine breite Zeichenfolge mit diesem Makro konstruieren, indem ich so etwas wie:

const wchar_t *AppProgID = APPNAME L".Document";

Dies erzeugt jedoch einen Kompilierungsfehler "verkettet nicht übereinstimmende Zeichenfolgen".

Gibt es eine Möglichkeit, das Appname -Makro in ein breites String -Literal umzuwandeln?

War es hilfreich?

Lösung

Hast du versucht

#define APPNAME "MyApp"

#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)

const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top