Compartir a través de


Error del compilador C2004

Actualización: noviembre 2007

Mensaje de error

se esperaba 'defined(id)'
expected 'defined(id)'

Los paréntesis situados a continuación de la palabra clave del preprocesador deben contener un identificador.

Este error también puede producirse como resultado del trabajo de compatibilidad del compilador realizado para Visual Studio .NET 2003: faltan paréntesis en la directiva del preprocesador. Si en una directiva del preprocesador falta el paréntesis de cierre, el compilador generará un error.

Para obtener más información, vea Resumen de cambios importantes en tiempo de compilación.

Ejemplo

El ejemplo siguiente genera el error C2004:

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

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

Posible solución:

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

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