今天还是配置一个工程,遇到了这个问题,使用min时提示:输入正确的标识符。
看下面的代码:
#include<iostream>
#include<Windows.h>
#include<algorithm>
int main()
{
auto it = std::min(1, 2);//错误,应输入标识符
return 0;
}
如果把windows的头文件注释掉就不会发生错误。
问题的原因就是algorithm中的std::min与windows中min的宏定义产生了冲突。
注释windows头文件是一种解决方案。
另一种解决方案就是使用预处理器来屏蔽min:
项目属性 ——> C/C++ ——> 预处理器 ——> 预处理器定义 ——>加入NOMINMAX
时间: 2024-10-12 10:39:48