错误 C2308:连接不匹配的字符串



在尝试用 C 语言编译 Maze 生成器/求解器时,如 Visual Studio 2010 中的 rosettacode 中存在的那样,我在编译过程中遇到了问题。

下一行

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

正在抛出错误

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

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

您需要

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

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

编辑:

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

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

最新更新