编译器错误 C2017

非法的转义序列

转义序列(如 \t)显示在字符或字符串常量之外。

以下示例将生成 C2017:

// C2017.cpp
int main() {
   char test1='a'\n;   // C2017
   char test2='a\n';   // ok
}

当 stringize 运算符与包含转义序列的字符串一起使用时,会发生 C2017。

以下示例将生成 C2017:

// C2017b.cpp
#define TestDfn(x) AfxMessageBox(#x)
TestDfn(CString("\\") + CString(".h\"\n\n"));   // C2017