分享方式:


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