编译器错误 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