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