Kompilatorfel C2004

förväntade "defined(id)"

Remarks

En identifierare måste visas inom parenteserna efter nyckelordet preprocessor.

Det här felet kan också genereras som ett resultat av kompilatorns överensstämmelsearbete som utfördes för Visual Studio .NET 2003: parenteser saknas i förprocessordirektivet. Om den avslutande parentesen saknas i ett förprocessordirektiv genererar kompilatorn ett fel.

Example

I följande exempel genereras C2004:

// C2004.cpp
// compile with: /DDEBUG
#include <stdio.h>

int main()
{
    #if defined(DEBUG   // C2004
        printf_s("DEBUG defined\n");
    #endif
}

Möjlig lösning:

// C2004b.cpp
// compile with: /DDEBUG
#include <stdio.h>

int main()
{
    #if defined(DEBUG)
        printf_s("DEBUG defined\n");
    #endif
}