编译器错误 C2004
应输入“defined(id)”
标识符必须出现在括号中,且后接预处理器关键字。
此错误还可能来自于为 Visual Studio .NET 2003 执行的编译器一致性工作:在预处理器指令中缺少括号。 如果预处理器指令中缺少右括号,编译器将生成错误。
示例
以下示例生成 C2004:
// C2004.cpp
// compile with: /DDEBUG
#include <stdio.h>
int main()
{
#if defined(DEBUG // C2004
printf_s("DEBUG defined\n");
#endif
}
可能的解决方法:
// C2004b.cpp
// compile with: /DDEBUG
#include <stdio.h>
int main()
{
#if defined(DEBUG)
printf_s("DEBUG defined\n");
#endif
}
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈