Freigeben über


Compilerwarnung (Ebene 1) C4005

'Identifier': Makroumdefinition

Bemerkungen

Der Makrobezeichner wird zweimal definiert. Der Compiler verwendet die zweite Makrodefinition.

Dieser Fehler kann eine der folgenden Ursachen haben:

  1. Definieren eines Makros in der Befehlszeile und im Code mit einer #define Direktive.

  2. Makros, die aus dateien importiert wurden.

So beheben Sie den Fehler (unterschiedliche Lösungsmöglichkeiten)

  1. Entfernen Sie eine der Definitionen.

  2. Verwenden Sie vor der zweiten Definition eine #undef-Direktive .

Example

Im folgenden Beispiel wird C4005 generiert:

// 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;
}