Domanda

Ho una macro per una stringa di caratteri come segue:

#define APPNAME "MyApp"

Ora voglio costruire una vasta stringa utilizzando questa macro facendo qualcosa di simile:

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

Tuttavia, questo genera una "concatenazione di stringhe corrispondenti" errore di compilazione.

C'è un modo per convertire la macro APPNAME ad una vasta stringa letterale?

È stato utile?

Soluzione

Hai provato

#define APPNAME "MyApp"

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

const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top