Partager via


Erreur du compilateur C2004

Mise à jour : novembre 2007

Message d'erreur

attendu 'defined(id)'
expected 'defined(id)'

Un identificateur doit apparaître dans les parenthèses suivant le mot clé du préprocesseur.

Cette erreur peut également être due à la mise à conformité du compilateur pour Visual Studio .NET 2003 : parenthèses absentes dans la directive du préprocesseur. Si les parenthèses fermantes sont absentes d'une directive de préprocesseur, le compilateur génère une erreur.

Pour plus d'informations, consultez Récapitulatif des modifications sans rupture au moment de la compilation.

Exemple

L'exemple suivant génère l'erreur C2004 :

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

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

Résolution possible :

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

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