Compilerwarnung (Stufe 1) C4005
Aktualisiert: November 2007
Fehlermeldung
'Bezeichner' : Makro-Neudefinition
'identifier' : macro redefinition
Der Makrobezeichner wurde zweimal definiert. Der Compiler verwendet die zweite Makrodefinition.
Dieser Fehler kann eine der folgenden Ursachen haben:
Ein Makro in der Befehlszeile und im Code wurde mit einer #define-Direktive definiert.
Aus Includedateien importierte Makros.
Beachten Sie die folgenden Vorschläge zur Problembehebung:
Entfernen Sie eine der Definitionen.
Verwenden Sie eine #undef-Direktive vor der zweiten Definition.
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;
}