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
}