windows.h的冲突和限制?

use*_*020 6 c++ limit

以下代码在VS2010中不起作用.是什么原因?

#include <limits>
#include <windows.h> // if I remove this line, it is okay.

int main()
{
    std::numeric_limits<int>::min();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个VC空控制台项目并添加了一个main.cpp,如上所述.这是什么原因?我可以创建另一种项目吗?谢谢.

谢谢你们的帮助.问题来自我正在使用vld.hlimits一起.我确实读过vld.h以试图自己找到问题.经过一些测试,我发现这个问题可能是从window.h那个vld.h包含.很抱歉忘记谷歌了.而且我个人觉得stackoverflow非常有用,对你们这些新手程序员的帮助就像我一样.

小智 15

这是一个已知的问题,由一个不幸的max宏定义windows.h(实际上,windef.h包括windows.h更精确).NOMINMAX包括之前的定义windows.h应该解决问题.例如:

#define NOMINMAX
#include <windows.h>
Run Code Online (Sandbox Code Playgroud)