Megosztás a következőn keresztül:


C2004 fordítási hiba

várt "defined(id)"

Remarks

Az azonosítónak az előfeldolgozási kulcsszót követő zárójelekben kell megjelennie.

Ez a hiba a Visual Studio .NET 2003-hoz készült fordítómegfelelőség miatt is létrejön: hiányzik a zárójel az előfeldolgozási irányelvben. Ha a záró zárójel hiányzik egy előfeldolgozási irányelvből, a fordító hibát fog generálni.

Example

Az alábbi példa a C2004-et hozza létre:

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

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

Lehetséges megoldás:

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

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