У меня есть макрос для символьной строки следующим образом:Объединяя широкий строковый литерал шпагата макросъемки
#define APPNAME "MyApp"
Теперь я хочу, чтобы построить широкую строку, используя эту макрокоманду, делая что-то вроде:
const wchar_t *AppProgID = APPNAME L".Document";
Однако это создает ошибку компиляции «конкатенации несогласованных строк».
Есть ли способ конвертировать макрос APPNAME в широкий строковый литерал?
Примечание: C++ 0x имеет новый «делать правильные вещи» правило для этого случая. §2.14.5/13: «Если один строковый литерал не имеет префикса кодировки, он рассматривается как строковый литерал того же префикса кодировки, что и другой операнд». – Potatoswatter