在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中对错误的不友好描述,我对这个问题以及如何解决这个问题感到困惑
你需要在宽字符串文字中逃避"
wchar_t glyph[] = L"\"SPC\"¦¦¦-++¦-+++---+\"SPC\"?????? ??? ?";
编辑:
我错过了SPC宏(正如Luchian和jrok已经发表的那样):
#define SPC L" " wchar_t glyph[] = L"" SPC L"¦¦¦-++¦-+++---+" SPC L"?????? ??? ?";