在尝试编译Visual Studio 2010中的rosettacode中存在的Maze Generator/Solver in 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中错误的不友好描述,我对这个问题以及如何解决它感到困惑
答案 0 :(得分:6)
您需要转义宽字符串文字中的"
:
wchar_t glyph[] = L"\"SPC\"¦¦¦-++¦-+++---+\"SPC\"?????? ??? ?";
编辑:
我错过了SPC
宏(已由Luchian和jrok发布):
#define SPC L" "
wchar_t glyph[] = L"" SPC L"¦¦¦-++¦-+++---+" SPC L"?????? ??? ?";