4

在尝试编译Visual Studio 2010 中的 Rosettacode 中存在的C 中的迷宫生成器/求解器时,我在编译过程中遇到了问题。

以下行

#   define SPC " "
wchar_t glyph[] = L""SPC"│││─┘┐┤─└┌├─┴┬┼"SPC"┆┆┆┄╯╮ ┄╰╭ ┄";

正在抛出错误

1>d:\projects\maze_cpp\maze_cpp\main.cpp(14): error C2308: concatenating mismatched strings
1>          Concatenating wide "" with narrow "?????? ??? ?"

考虑到我对 Unicode 的了解有限,以及MSDN中对错误的不友好描述,我对这个问题以及如何解决它感到困惑

4

1 回答 1

6

您需要转义"宽字符串文字中的 s :

wchar_t glyph[] = L"\"SPC\"¦¦¦-++¦-+++---+\"SPC\"?????? ??? ?"; 

编辑:

我错过了SPC宏(正如 Luchian 和 jrok 已经发布的那样):

#define SPC L"  "
wchar_t glyph[] = L"" SPC L"¦¦¦-++¦-+++---+" SPC L"?????? ??? ?";
于 2012-05-04T11:07:15.067 回答