Partager via


Avertissement du compilateur (niveau 1) C4005

'identifier' : redéfinition de macro

L’identificateur de macro est défini deux fois. Le compilateur utilise la deuxième définition de macro.

Pour corriger en vérifiant les causes possibles suivantes

  1. Définition d’une macro sur la ligne de commande et dans le code avec une #define directive.

  2. Macros importées à partir de fichiers include.

Pour résoudre ce problème, appliquez les solutions possibles suivantes.

  1. Supprimez l’une des définitions.

  2. Utilisez une directive #undef avant la deuxième définition.

L’exemple suivant génère l’erreur C4005 :

// C4005.cpp
// compile with: /W1 /EHsc
#include <iostream>
using namespace std;

#define TEST "test1"
#define TEST "test2"   // C4005 delete or rename to resolve the warning

int main() {
   cout << TEST << endl;
}