编译器警告(等级 1)C4005

“identifier”: 宏重新定义

该宏标识符定义了两次。 编译器使用第二个宏定义。

通过检查以下可能的原因进行修复

  1. 使用 #define 指令在命令行和代码中定义宏。

  2. 从包含文件导入的宏。

使用以下可能的解决方案进行修复

  1. 删除某一个定义。

  2. 在第二个定义前面使用 #undef 指令。

下面的示例生成 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;
}