编译器错误 C2001
常量中有换行符
除非执行以下操作,否则无法在第二行上继续字符串常量:
用反斜杠结束第一行。
用双引号关闭第一行的字符串,并用另一个双引号打开下一行的字符串。
用 \n 结束第一行是不够的。
示例
以下示例生成 C2001:
// C2001.cpp
// C2001 expected
#include <stdio.h>
int main()
{
printf_s("Hello,
world");
printf_s("Hello,\n
world");
}
换行符后,字符串常量中包含下一行开头的空格。 上面所示的示例均未将换行符嵌入字符串常量中。 可以嵌入换行符,如下所示:
// C2001b.cpp
#include <stdio.h>
int main()
{
printf_s("Hello,\n\
world");
printf_s("Hello,\
\nworld");
printf_s("Hello,\n"
"world");
printf_s("Hello,"
"\nworld");
printf_s("Hello,"
" world");
printf_s("Hello,\
world");
}
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈