編譯器錯誤 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
}