I have a define that looks like this:
#define HELLO "hello"
I wanted to make "hello" a wide string without having to type it again, so I tried with this macro and hoped for the best:
#define WIDEN(x) L ## x
#define WIDE_HELLO WIDEN(HELLO)
However, this expands to LHELLO
.
I found other examples of this on the Internet, and they use an intermediate macro and it works:
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
#define WIDE_HELLO WIDEN(HELLO)
What does the intermediate macro do that solves the problem?