UC マクロ修正

#define UC(a) (reinterpret_cast<const ucs4char*>(L##""a))
=>
#define UC_(x) L ## x
#define UC(x) reinterpret_cast<const ucs4char*>(UC_(x))

herumi さんのアドバイスにより UC マクロを修正。
元の定義だと、優先順位の関係で L "" という UTF32 文字列リテラルと、x という ASCII 文字列リテラルの連結と見なされる場合があるのだった。