Visual Studio 2010 - Visual C++
编译器错误 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
需注意的是在使用 \ 做上下两行连接时 \ 后面一定不要出面空格否则会报此错误