Udostępnij przez


Ostrzeżenie kompilatora (poziom 1) C4005

"identifier" : ponowne zdefiniowanie makr

Uwagi

Identyfikator makra jest definiowany dwa razy. Kompilator używa drugiej definicji makra.

Aby rozwiązać ten problem, sprawdzając następujące możliwe przyczyny

  1. Definiowanie makra w wierszu polecenia i w kodzie z dyrektywą #define .

  2. Makra importowane z plików dołączanych.

Aby rozwiązać ten problem, korzystając z następujących możliwych rozwiązań

  1. Usuń jedną z definicji.

  2. Użyj dyrektywy #undef przed drugą definicją.

Example

Poniższy przykład generuje kod 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;
}